📜  NHibernate-ORM

📅  最后修改于: 2020-11-19 05:30:20             🧑  作者: Mango


在真正开始使用NHibernate之前,我们需要了解其基础。 NHibernate是一种持久性技术,它基于对象关系映射或ORM的思想。

什么是ORM?

对象关系映射(ORM)是一种编程技术,用于在面向对象的编程语言中的不兼容类型系统之间转换数据。换句话说,这是将应用程序的业务对象映射到关系数据库表的概念,以便可以通过应用程序的对象模型轻松地访问和更新数据。

  • 如您所知,关系数据库提供了一种存储数据的好方法,而面向对象的编程是构建复杂应用程序的一种好方法。

  • 通常,NHibernate和ORM与具有平凡业务逻辑,域模型和某种数据库的应用程序最相关。

  • 使用ORM,创建一个转换层很容易,该转换层可以轻松地将对象转换为关系数据并再次转换回关系数据。

  • 首字母缩写ORM也可以表示对象角色建模,并且该术语是在对象/关系映射变得相关之前发明的。

  • 它描述了一种用于数据库建模的信息分析方法。

为什么选择ORM?

ORM是一个框架,使您能够将面向对象的语言中的对象的世界映射到关系数据库中的关系表中的行

为了理解这个概念,让我们看一下下图。

雇员

  • 在上图中,您可以看到我们在右侧有一个名为Employee的表,该表包含列,每个列的数据与单个雇员相关联。

  • 我们有一个ID列,用于唯一标识每个员工。

  • 一列是员工姓名,另一列是他们的加入日期,最后是一列具有员工年龄的列。

  • 如果我们想编写一些代码在表中存储新员工,那并不是那么容易。

  • 在上图中,您还可以看到我们有一个雇员对象,其中包含ID,名称,加入日期和年龄的字段。

  • 如果没有ORM,我们必须将该对象转换成几个不同的SQL语句,这些语句会将员工数据插入到employee表中。

  • 因此编写用于创建上述场景的SQL的代码并不难,但是有点乏味并且很容易出错。

  • 使用像NHibernate这样的ORM,我们可以声明应如何将某些类映射到关系表,并让ORM或NHibernate处理创建SQL来插入,更新,删除雇员表中查询数据的烦人的工作。

  • 这使我们可以使代码始终专注于使用对象,并将这些对象自动转换为关系表。

  • 因此,实际上,ORM所做的是,它使我们不必手动将对象映射到表。