gpt4 book ai didi

.net - ORM 工具或手动将对象构建到关系映射层

转载 作者:行者123 更新时间:2023-12-02 07:13:39 26 4
gpt4 key购买 nike

我正在尝试确定在构建数据层时使用对象到关系映射层(如 hibernate 或 Microsoft Entity 框架)的优势或劣势。

从长远来看,是手动使用 sql 和映射对象更好,还是利用其中一种映射技术更好?

对于简单的应用程序来说,额外的映射层似乎是有利的,因为该工具可以处理简单的映射和 sql,从而节省一些时间,但是当您的对象模型变得更加复杂时呢?

如果有的话,还有什么性能影响?

感谢您提供任何见解。

最佳答案

您最好的选择是确保无论您做什么,都可以在以后进行更改。因此,如果您使用 NHibernate 或 EF,您将希望对框架的实际依赖关系保持在非常紧密的范围内;手动实现也是如此。

尝试实现 Repository 模式,然后您可以构建 NH-repo、EF-repo 等,看看哪个最适合您的需求。

我个人的意见是进行适当的 OR 映射(无论是手动还是通过框架)——这里的含义是您的业务/域对象只是看起来像你的 table ,反之亦然。 ORM 的全部意义不只是将数据从数据库中取出并放入您的应用程序(DataSet 可以满足这一点),而是让您在应用程序中充分利用 OOP 的两全其美的优势,后端的 RDBMS。

如果您只是将 SQL 用作“哑存储”(我最喜欢的用法),那么您可以考虑使用 OODB 或其他对象持久性方法。在业余爱好/业余项目中探索这总是一件有趣的事情——但很难将其推销给管理层(他们喜欢他们的 SQL Server),但值得考虑。


当然,如果您谈论的是非常小的应用程序,那么也许您可以遵循 Active Record 模式或事务脚本模式来实现某些东西——XScript 非常适合非常小的应用程序,但不能很好地扩展—— -Active Record 非常适合数据输入/CRUD 应用程序

关于.net - ORM 工具或手动将对象构建到关系映射层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3161932/

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