2013-05-29 58 views
0

選擇時重新使用LINQ表類我通過LINQ屬性鏈接到一個類SQL Server表:從視圖

[Table(Name = "MyItems")] 
public class MyItems 
{ 
    ... 
} 

Table<MyItems> linqMyItems = db.GetTable<MyItems>(); 
IQueryable<MyItems> itmList = (
    from itm in linqMyItems 
    select itm); 

,當我需要在這個表中查詢和更新其項目能正常工作。但是現在我想重複使用這個類,當我從包含完全相同的一組字段的數據庫視圖ItemsFiltered中選擇數據時。基本上我只是隻讀對象,但如果linq會奇蹟般地將從視圖中檢索的字段集合連接到實際的相關表,從而使對象更新,我不介意。

回答

0

只需使用heredety

public abstract class MyItemsBase 
{ 
    /* Define everything here */ 
} 

[Table(Name = "MyItems")] 
public class TableMyItems : MyItemsBase { } 

[Table(Name = "ItemsFiltered")] 
public class ViewMyItems : MyItemsBase { } 
+0

我得到的錯誤,不知道如何解決它:InvalidOperationException異常:類型的數據成員「的Int32 itmID「UserQuery + MyItemsBase」不是類型映射的一部分「ItemsFiltered」 。該成員是否在繼承層次結構的根之上? – Passiday