gpt4 book ai didi

asp.net - 什么是 NHibernate?

转载 作者:太空狗 更新时间:2023-10-30 01:38:09 26 4
gpt4 key购买 nike

作为我的 previous question 的后续行动.我是一名 ASP.NET 程序员,想知道 NHibernate 将如何帮助我比其他方式更轻松、更快速地完成工作。假装我对 NHibernate 一无所知。它是什么,它能为我做什么?

最佳答案

NHibernate 是一个 ORM,或对象关系映射器。与 LINQ to SQL、Entity Framework、LLBLGen 和其他工具一样,ORM 工具消除了大部分编写存储过程来处理业务对象的公共(public)数据访问 (CRUD) 的需要。 ORM 工具要求您创建(手动或使用可视化设计器……取决于您选择的)映射规范,用于跟踪对象的哪些属性映射到数据库中表和/或 View 的哪些列。当您需要检索对象时,ORM 工具会为您生成适当的 SQL,并将其发送到数据库。当需要更新您的对象时,ORM 不仅会创建 SQL 来为您插入、更新和删除……它还会对这些命令进行批处理,以便将单个连接和一批命令发送到数据库并在事务中执行整个操作。 ORM 工具还可以让您一次性选择整个对象图,从而为任务生成最高效的 SQL,从而提高查询效率。

使用 ORM 工具,您仍然需要查询,但是您要么使用 ORM 上下文或 session 对象上的基本方法,要么使用该 ORM 的自定义查询语言。如今,包括 NHibernate 在内的大多数 ORM 也提供 LINQ 支持,允许您使用标准的 LINQ 语法查询您的对象模型,然后为您将其转换为针对您的数据库的 SQL 查询。

OR 映射器的好处是您可以将几乎所有代码集中到您的域中,而不是在域和存储过程之间拆分。您减轻了数据库上的存储过程负载,减少了在需要时重构数据库的障碍,不仅在您的域中而且在您的数据库模式中提供了更大的业务敏捷性。由于您不必编写 SQL,尤其是如果您使用 LINQ,您通常可以用更少的精力创建更高效​​的应用程序,同时降低长期维护成本。

除了与您的 DBA(如果您有)之间不可避免的 war 之外,OR 映射器还可以为表带来相当大的好处,可以减少实现工作、提高可维护性并提供更大的业务敏捷性。

希望这能回答问题。 ;)

关于asp.net - 什么是 NHibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/959270/

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