gpt4 book ai didi

c# - 使用 Entity Framework 时,我是否需要统一工作模式和存储库模式?

转载 作者:行者123 更新时间:2023-11-30 21:56:05 24 4
gpt4 key购买 nike

所以在我的工作中我被指向了http://www.codeproject.com/Articles/990492/RESTful-Day-sharp-Enterprise-Level-Application#_Toc418969121并被告知要学习这些模式并在我的解决方案中实现它们。

让我感到困惑的是,这些东西出现在 Entity Framework 6 之前,据我了解,Unity of Work 用于通过将查询分组在一起来优化数据库性能。既然 EF6 已经有了这些优化,我还应该实现这些层吗?我知道分层有助于数据源的模块化和切换。这是否意味着 EF6 太复杂而无法使用这些模式来实现,是否应该直接使用 ADO.Net 或类似的东西?

编辑:我注意到这个添加的层允许使用模拟数据源。不确定这有多大用处,因为需要添加另一层抽象

enter image description here

最佳答案

“工作单元用于通过将查询组合在一起来优化数据库性能。” - 这是不正确的。工作单元用于将相关操作收集到一个事务中,然后作为一个整体提交或回滚。它跟踪对对象所做的更改,以便可以自动推断所需的数据库操作并代表您执行。

当您使用 Entity Framework 时,您可以使用它从模型创建 DbContext。该类既是存储库又是工作单元,因此您不必做任何特别的事情。当您的项目变得如此之大以至于 DbContext 成为更多负担时,事情只会变得比这更复杂。

关于c# - 使用 Entity Framework 时,我是否需要统一工作模式和存储库模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31719303/

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