【发布时间】:2015-09-05 10:57:33
【问题描述】:
我有课
public class Level1
{
public int Id {get; set;}
public virtual List<Level2> Level2List {get; set;}
}
public class Level2
{
public int Id {get; set;}
public int Level3Id {get; set;}
public virtual Level3 Level3 {get; set;}
}
public class Level3
{
public int Id {get; set;}
public string Name {get; set;}
}
使用导航属性我可以像这样加载List<Level2>
var myList = _myLevel1Repository.GetSingle(x=>x.Id == Level1Id, x=>x.Level2List);
但是如何加载 Level3 及其与 Level2 链接的属性?
PS:不能延迟加载。
这是Getsingle 函数
public T GetSingle(Func<T, bool> where, params Expression<Func<T, object>>[] navProps)
{
T item = null;
using (var context = new MyDbContext())
item = GetFilteredSet(context, navProps).AsNoTracking().FirstOrDefault(where);
return item;
}
【问题讨论】:
标签: c# linq entity-framework linq-to-entities navigation-properties