gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:32:28 27 4
gpt4 key购买 nike

我在关注 this tutorial用于带有 ASP.NET Core 的 EF Core。有趣的是,这篇文章指出“使用存储库和工作单元模式并不总是使用 EF 的应用程序的最佳选择”,但在 EF 5 的教程中,存储库和工作单元模式的使用仍然是即使有单独的教程部分也可以提升。

阅读 old articles据报道,在stackoverflow上应用它的原因主要是为了测试(依赖注入(inject))。

在 turial 中进一步阅读,提到“Entity Framework Core 实现了一个可用于测试的内存数据库提供程序”。我认为这是 EF5 时不存在的新功能。这是否意味着几乎没有任何理由在 EF Core 和 ASP.NET Core 中应用存储库和工作单元模式的使用?

最佳答案

为什么这里有如此多的困惑有很多原因和悠久的历史。英孚DbContext用于不实现接口(interface),因此为了测试目的而模拟变得困难。但是,这在 EF 6 中得到了纠正,因此从那时起,即使出于测试目的,使用存储库/工作单元模式也绝对没有任何好处。

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

总而言之,转储存储库和工作单元模式。即使它们对测试有一些用处,它们也从来都不是一个好的解决方案,而且从 EF 6 开始,它们就完全没用了。

现在……让火焰 war 开始吧。

关于entity-framework - 使用 Repository 和工作单元模式(重新访问)...在 EF Core 和 ASP.NET Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com