NHibernate-ORM


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

什么是 ORM?

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

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

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

  • 使用 ORM,可以非常轻松地创建一个转换层,可以轻松地将对象转换为关系数据,然后再转换回来。

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

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

为什么是 ORM?

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

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

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

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

  • 一列显示员工姓名,另一列显示其加入日期,最后一列显示员工的年龄。

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

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

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

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

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

  • 这使我们能够将代码集中在使用对象上,并将这些对象自动转换为关系表。

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