c# – 如何在EF中使用存储库模式使用存储过程和复杂类型?
在实体框架中处理Repository模式时,我们如何使用存储过程和复杂类型?有人可以给出一个简单的例子.
还应该在什么情况下我们实际去找一个Repository模式? 提前致谢 解决方法
我想你已经错过了一点,为什么人们通过ObjectSet / DbSet实现存储库模式时,实现存储库模式?
热门的回答是因为许多教程建议您使用它,而无需证明理由.有没有在ObjectSet / DbSet上使用Repository层的有效理由.不过,我会指出一些理由,为什么它更可取. 默认过滤器 public IQueriable<Product> GetAll() { return context.Products.Where(p => !p.IsDiscontinued); } 软删除 public void Delete(Product product) { // can apply any other logic here product.IsDeleted = true; } 只读实体 切换数据访问而不暴露实现有些情况下LINQ不足.在这里可以使用原始SQL或SP.拥有存储库将避免在EF暴露的功能不足时查询/更新不同的方法. 使用现有数据库 这些技术可能不是防弹的,但如果情况需要,将会派上用场.我建议的不是直接进入存储库,更好地考虑添加另一个实现所需功能所需的抽象层. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |