出于性能考虑,我们必须使用DbSet<T>.SqlQuery
从数据库中检索实体。但是这个实体是几个继承类型的基类型。EF DbSet
与 Linq 一起使用时,当我们查询它时,EF
实例化了正确的类型,而我们查询基本类型。这是非常感谢的!
一个例子:
Base type : TreeItem
Derived types : Docs, Folder, Files
我们创建一个查询 other TreeITem
:
from item in DbCtxt.TreeItem
where <predicate>
select item:
结果我们得到了一个不同对象的列表,其中一些是TreeItem
or Docs
or Files
...
但是现在我们想使用我们自己的 SQL 查询进行查询,我们没有实现获得继承的类型,而只是TreeItem
.
你知道我们怎样才能实现它吗?
谢谢++卢多