2013-08-31 107 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();