【问题标题】:EF 4.2, Repository & UoW - how to include relationships?EF 4.2,存储库和 UoW - 如何包含关系?
【发布时间】:2011-12-22 13:50:39
【问题描述】:

一直在使用 EF 4.2,但未使用存储库或工作单元模式。我试图转向他们,但遇到了一个问题。我遵循了创建 repostirotybase 抽象类的模型,但是在我想使用 .Include() 方法进行急切加载的地方制作查询时遇到了麻烦。这是您将其烘焙到存储库中(因此每个存储库都需要实现它)还是在使用数据的层更进一步。

令人困惑的是,如果我必须将它放入存储库(似乎是这种情况),那就是限制,因为我必须为我的消费者提供一种适合所有人的尺寸?

【问题讨论】:

    标签: entity-framework-4 repository-pattern code-first


    【解决方案1】:

    创建特定的存储库并添加特定的方法来加载具有关系的实体。例如:

    public class ProductRepository
    {
        public Product GetProductWithFeatures(int key)
        {
            return context.Products
                          .Include(p => p.Features)
                          .FirstOrDefault(p => p.Id == key);
        }
    }
    

    另一种方法是在您的存储库上公开IQueryable,以便您可以直接调用Include,但这样的存储库在将您的上层与EF 解耦时部分失败。

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2019-05-24
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多