在使用ASP.NET Core的EF Core中使用Repository和工作单元模式(重新访问)....

Cof*_*old 14 entity-framework .net-core asp.net-core

我下面这个教程的EF核心与ASP.NET核心.有趣的是,本文指出"使用存储库和工作单元模式并不总是使用EF的应用程序的最佳选择",但在EF 5的教程中,存储库和工作单元模式的使用仍然是即使有一个单独的教程部分也可以推广.

在stackoverflow上阅读 旧文章,据报道,应用它的原因主要是测试(依赖注入).

在turial中进一步阅读时,提到"实体框架核心实现了可用于测试的内存数据库提供程序".我认为这是EF5时尚未出现的新功能.这是否意味着几乎没有任何理由在EF Core和ASP.NET Core中应用存储库和工作单元模式?

Chr*_*att 11

有很多原因和悠久的历史,为什么这里有如此多的混乱.EF DbContext过去常常没有实现接口,所以它很难用于测试.但是,这在EF 6中得到了纠正,因此从那时起,即使是出于测试目的,在使用存储库/工作模式单元时也绝对没有任何好处.

EF Core是完全可测试的端到端,并且现在也有一个内存数据库提供程序,这意味着你甚至不需要模拟它,尽管如果你想要的话你也可以.

长和短,转储存储库和工作单元模式.它们从来都不是一个好的解决方案,即使它们有一些用于测试,而且从EF 6开始,它们完全没用.

现在......让火焰战开始吧.