在EF6 - Repository / UnitOfWork上创建另一层是否有意义?
在我们的自定义存储库中,我们可以添加特定的查询,如GetTopXXX,GetLastUpdated等。
我们可以在Business Logic中使用DBQtext上的LINQ执行相同操作。
答案 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();
}
}