2013-08-31 69 views
0

我试图从LINQ查询
选择一个类的所有记录使用LINQ查询

dataentities db = new dataentities(); 
db.Tabel1.Select(x=> new lcclsAccDueList {LedgerName ,LedgerId,Amount ,AmountInString ,Expr2,Name ,StopID ,VIP }).ToList(); 

我做了这个类

public class lcclsAccDueList 
    { 
     public string LedgerName { get; set; } 
     public decimal LedgerId { get; set; } 
     public Nullable<decimal> Amount { get; set; } 
     public string AmountInString { get; set; } 
     public Nullable<int> Expr2 { get; set; } 
     public string Name { get; set; } 
     public Nullable<decimal> StopID { get; set; } 
     public Nullable<bool> VIP { get; set; } 
    } 

得到一些记录是否有任何其他的方式来选择所有记录像

dataentities db = new dataentities(); 
db.Tabel1.Select(x=> new lcclsAccDueList { * }).ToList(); 
// * indicates select all records 
+0

提供更多细节。你想从table1获取数据吗? –

+0

是的,我想要从table1获取所有数据.. tabel1是相同的属性 –

回答

2

您可以创建lcclsAccDueList类构造函数,它需要source个地图的所有属性:

public class lcclsAccDueList 
{ 
    public lcclsAccDueList() {} 
    public lcclsAccDueList(tableItem source) 
    { 
     LedgerName = source.LedgerName; 
     LedgerId = source.LedgerId; 
     // (...) 
    } 

    public string LedgerName { get; set; } 
    public decimal LedgerId { get; set; } 
    // (...) 
} 

然后你的查询中使用它:

dataentities db = new dataentities(); 
db.Tabel1.Select(x => new lcclsAccDueList(x)).ToList(); 

或者你也可以使用自动映射库,像automapper

创建地图:

Mapper.CreateMap<tableItem, lcclsAccDueList>(); 

然后在你内部使用它查询:

dataentities db = new dataentities(); 
db.Tabel1.Select(x => Mapper.Map<lcclsAccDueList>(x);).ToList();