NHibernate - ORM



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

什么是 ORM?

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

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

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

  • 使用 ORM,创建能够轻松将对象转换为关系数据并返回的转换层非常容易。

  • ORM 首字母缩写词也可以指对象角色建模,这个术语是在对象/关系映射变得相关之前发明的。

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

为什么使用 ORM?

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

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

Employee
  • 在上图中,您可以看到我们右边有一个名为 Employee 的表,其中包含与每个员工相关的每条数据的列。

  • 我们有一列 Id,它唯一标识每个员工。

  • 一列用于员工姓名,另一列用于他们的入职日期,最后是一列包含员工年龄。

  • 如果我们想编写一些代码将新员工存储到表中,这并不容易。

  • 在上图中,您还可以看到我们有一个员工对象,它具有 Id、姓名、入职日期和年龄的字段。

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

  • 因此,编写代码来创建 SQL 来执行上述场景并不难,但它有点乏味,而且很容易出错。

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

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

  • 因此,ORM 的真正作用是让我们免于手动将对象映射到表。

广告