我试图在使用“按类型分表”(Table per Type)的表上执行linq to entities查询。
我的问题是,我无法访问继承表上的属性,只能访问基本表上的属性。
var qry = from i in _DB.BaseTable
where i is catalogueModel.InheritedTable
// Field Doesn't Exist
// && i.InheritedTableField == "Value"
select i;
当我尝试将继承表转换为其类型时...
var qry = from i in _DB.BaseTable
where i is catalogueModel.InheritedTable
&& (i as catalogueModel.InheritedTable).InheritedTableField == "Value"
select i;
...代码编译通过,但出现了一个酷炫的错误信息:
工作表中只允许使用文本指针,不允许使用文本、ntext 或 image 列。查询处理器生成了一个需要在工作表中使用文本、ntext 或 image 列的查询计划。
我想问的是,在使用 Table per Type 时,如何访问继承表的属性?