使用Entity framework 6时,是否值得使用Repository / Unit of work模式?

时间:2016-03-03 08:19:07

标签: asp.net-mvc-5 entity-framework-6

在EF6 - Repository / UnitOfWork上创建另一层是否有意义?

在我们的自定义存储库中,我们可以添加特定的查询,如GetTopXXX,GetLastUpdated等。

我们可以在Business Logic中使用DBQtext上的LINQ执行相同操作。

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用存储库在您的情况下分离检索数据的逻辑

使用Repository模式,非常简单,您将实现所有查询,例如在界面中定义的添加,编辑和更新。您与数据库交互的方式是使用实体框架。

public interface IProductRepository
{
   void Add(Product product);
}

public class ProductRepository : IProductRepository
{
  private readonly DbContenxt _dbContext;

  public ProductRepository(DbContext dbContext)
  {
      _dbContext = dbContext;
  }

  public void Add(Product product)
  {
      var product = new Product() { Name = "Test" };

      _dbContext.Add(product);
      _dbContext.SaveChanges();                
   }
}