开始探索EF4.3。
使用导航属性可以让事情变得非常简单,虽然我在一个领域有一个问题,但我很欣赏其他人如何应对这种情况的建议。
在延迟加载嵌套属性时,使用场景 - Store.Programme.ProgrammeAccountNumber。
商店是我正在查询的实体。
Program是一个实体,也是Store的导航属性,ProgrammeAccountNumber是Program的属性。
为了获得原始实体,我写了这样的东西:
public static IQueryable<Store> FindActive()
{
var r = new ReadRepo<Store>(Local.Items.Uow.Context);
return r.Find(s => s.StoreStatusId == (int)StoreStatus.Active);
}
但是我们假设程序有自己的状态字段:
var store = StoreBL.FindActive()
.Where(s => s.Programme != null && s.Programme.ProgramStatusId = (int)ProgrammeStatus);
每次查询超出原始实体时,要记住每个实体的所有条件并不容易。
想象一下,我有一个产品链,我有一个产品,它有一个开始/结束日期和一个状态,属于一个商店,它有一个状态的程序,如果它运行的类别是有效的则有效。< / p>
我认为必须有一种技术可以有效地处理这个问题,或者是否谨慎使用延迟加载?
任何建议表示赞赏。