实体框架4 - 包括自我相关的表格

时间:2011-11-23 13:05:15

标签: c# entity-framework-4 include

我有一张与自我相关的表格:

UnitID    UnitParentID   Name

检索1级的代码:

return contexto.unit
             .Include("unit1")

检索2个级别的代码:

return contexto.unit
             .Include("unit1.unit1")

检索3个级别的代码:

return contexto.unit
             .Include("unit1.unit1.unit1")

我如何在多个级别执行此操作?

2 个答案:

答案 0 :(得分:2)

这些天我遇到了这个问题并且像这样解决了。

你必须首先加载所有的entites:

List<unit> myUnits = (from o in ctx.unit
                     .Expand("units")
                      select o).ToList();

之后你必须选择你想要的这些单位:

var selectedUnits = myUnits.Where(u => u.Property == x).ToList();

这对我来说很好!希望我能帮到你!

祝朱利安

答案 1 :(得分:1)

简短的回答:你没有。

更长的答案:您可以在单元中添加一个额外的列,以识别单元属于一起。 然后你做了类似的事情:

var tempResult = myDataContext.unit.Where(x => x.id == id);
return tempResult.FirstOrDefault(); //or some other logik to return the correct 'first' unit.