gpt4 book ai didi

.net - 关于用 Entity Framework 替换企业库数据访问 block 的建议

转载 作者:行者123 更新时间:2023-12-03 23:31:09 26 4
gpt4 key购买 nike

几年前,我们开发了一个大型 ASP.Net 应用程序(C#/.net 3.5),它必须是“数据库引擎”非依赖(意味着这个应用程序可以使用 SQL Server、Oracle、MySQL ...作为数据库引擎) )。为此,我们使用了 Enterprise Library Data Access Block 4.1。

但是现在,由于我们处于“性能/可扩展性改进”阶段,我们正在考虑技术升级或重新设计我们的应用程序基础。

所以,问题是:迁移到 Entity Framework 有什么优势吗? EF 会保留我们非依赖的“数据库引擎”标准吗?或者我们应该保留我们的 EntLib DAAB 实现但升级到最新版本 (5.0)?

谢谢

最佳答案

在它们之间移动的最大问题不在于数据库独立性,而是使用模式根本不同。数据访问块 (DAAB) 主要是 ADO.NET 的便利包装器。它使调用存储过程变得更容易/不那么烦人,但您仍在处理数据集或数据读取器。它实际上并没有改变你与数据库交互的方式,只是让它不那么烦人。

另一方面, Entity Framework 是关于数据建模和对象关系映射的。它的工作级别高于 DAAB;您根据对象编写代码,而不是根据 DataSet 或 DataReader。它自动“实现”数据库中的对象,因此您无需编写代码、维护它们之间的关系等。这是一种功能更全面但又完全不同的数据库工作方式。

您需要首先考虑是否要转向数据访问的 ORM 风格。从那里您可以决定 EF 或 .NET 空间中的许多其他 ORM 之一是否最适合您的需求。

EF 有很多提供者(请参阅 Devart 的列表答案),但它们都是外部/额外费用。框中唯一的一个用于 Sql Server。尽管我会补充说 DAAB 实际上并没有完全涵盖“数据库独立性”的事情——如果您在 DAAB 调用中有任何实际的 SQL,它不会帮助您解决 SQL 方言的差异。英孚会。

关于.net - 关于用 Entity Framework 替换企业库数据访问 block 的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896219/

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