NHibernate – ORM
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 的真正作用是让我们免于手动将对象映射到表。