【发布时间】:2019-12-04 16:28:24
【问题描述】:
在应用层的意义上,我很难弄清楚如何放置实体框架DbContext。在我看来,它旨在替换存储库层,但另一方面,它实际上并不像更基本的存储库那样工作,它是通过接口实现的,便于以后交换。
所以我在 service 和 repository 层(例如this post)上发现了很多好帖子,但它似乎没有回答实体框架适合的地方在这个模式中。
我应该在 Entity Framework 之上添加一个存储库层,还是应该在我的服务中使用 DbContext 代替存储库?
【问题讨论】:
-
这里有一个反论点:thereformedprogrammer.net/…
-
@Jazb 了解反论点,但我觉得存储库仍然可以增加价值,因为您不需要重复自己。如果没有存储库,您会发现自己一直在处理 id,并重复 savechanges() 等......存储库可以简单地替换单个方法。
-
@GlennvanAcker - 是的,没有对错 - 只是意见和偏好
-
EF 既是存储库又是 UoW。查看更多详情here。
标签: c# entity-framework repository-pattern