与Entity Framework导航属性一起使用的技术

时间:2012-10-05 14:50:37

标签: entity-framework lazy-loading

开始探索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>

我认为必须有一种技术可以有效地处理这个问题,或者是否谨慎使用延迟加载?

任何建议表示赞赏。

0 个答案:

没有答案