从视图中选择时重用linq表类

时间:2013-05-29 06:39:08

标签: c# sql-server 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将从视图中检索到的字段集神奇地连接到实际的相关表,从而使对象可以更新,我不介意。

1 个答案:

答案 0 :(得分:0)

只需使用heredety

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

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

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