Jan*_*nda 9 c# entity-framework hierarchical-data
我有一个标准的自我参考表Categories.在我的实体模型中,我已经建立了联想Children和Parent.是否可以在Category没有延迟加载的情况下加载整个对象?
如果我使用下面的代码,它只加载到第二级.
db.Categories.MergeOption = System.Data.Objects.MergeOption.NoTracking;
var query = from c in db.Categories.Include("Children")
where c.IsVisible == true
orderby c.SortOrder, c.Id
select c;
Run Code Online (Sandbox Code Playgroud)
如果我已经加载了所有类别对象,是否可以加载引用?
加载它的一种方法是Children多次添加属性
db.Categories.Include("Children.Children.Children.Children.Children")
Run Code Online (Sandbox Code Playgroud)
但是这会产生一个非常长的疯狂的T-SQL代码,而且它也没有做我想要的.
不,这是不可能的。考虑:所有 LINQ to Entities 查询都会转换为 SQL。哪个 SQL 语句在自引用层次结构中包含无限深度?在标准 SQL 中,没有这样一个。如果 T-SQL 中有对此的扩展,我不知道它是什么,而且我认为 EF 提供程序也不知道。
| 归档时间: |
|
| 查看次数: |
7742 次 |
| 最近记录: |