gpt4 book ai didi

entity-framework - 是否应该为纯 POCO 应用程序公开 "DbContext"和 "DbSet"

转载 作者:行者123 更新时间:2023-12-04 05:38:03 27 4
gpt4 key购买 nike

有人可以告诉我“DbContext”和“DbSet”的预期(最佳实践)使用,其中数据消费者不应该依赖任何 EF(100% POCO)。虽然我找到的所有示例都解释了如何为底层数据源创建 POCO 类(通常对应于 RDBMS 表),但它们仍然向外界公开“DbContext”和“DbSet”(包括 MSFT 自己的关于如何进行数据绑定(bind)的示例与这些类(class))。这似乎破坏或(严重地)淡化了使用 POCO 的好处。 IOW,客户端仍然绑定(bind)到 EF,而不是创建一些在内部使用 EF 的数据存储项目的更清洁(恕我直言)方法,但仅向其用户公开 POCO。为什么 EF 上的所有文章似乎都忽略了这一点(我错过了什么)。谢谢。

最佳答案

您通常会创建一个使用 DbContext 的服务层(例如基于存储库模式)。它的作用是在数据库和应用程序/客户端之间进行调解。它将接受来自客户端的 POCO 并将 POCO 返回给客户端。这样,客户端就知道存储库,但对 DbContext 一无所知。

为您阅读更多内容:

http://blogs.microsoft.co.il/blogs/gilf/archive/2010/01/20/using-repository-pattern-with-entity-framework.aspx
http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

关于entity-framework - 是否应该为纯 POCO 应用程序公开 "DbContext"和 "DbSet",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658060/

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