在我们真正开始使用NHibernate之前,我们需要了解它的构建基础. NHibernate是一种基于对象关系映射或ORM思想的持久性技术.
什么是ORM?
对象关系映射(ORM) )是一种编程技术,用于在面向对象的编程语言中的不兼容类型系统之间转换数据.换句话说,它是将应用程序的业务对象映射到关系数据库表的概念,以便可以通过应用程序的对象模型轻松访问和更新数据.
正如您所知,关系数据库提供了一种存储数据的好方法,而面向对象编程是构建复杂应用程序的好方法.
NHibernate和ORM通常与具有重要业务逻辑,域模型和某种数据库的应用程序最相关.
使用ORM,可以非常轻松地创建一个转换层,可以轻松地将对象转换为关系数据,然后再转发回来.
首字母缩略词ORM也可以平均对象角色建模,这个术语是在对象/关系映射变得相关之前发明的.
它描述了一种用于数据库建模的信息分析方法./p>
为什么选择ORM?
ORM是一个框架,它使您能够将面向对象语言中找到的对象世界映射到行中在关系数据库中找到的关系表
为了理解这个概念,让我们看一下下图.
在上图中,您可以看到我们有一个名为Employee的表在右侧,其中包含与每个员工关联的每个数据的列.
我们有一个ID列,用于唯一标识每个员工.
员工姓名的列,其加入日期的另一列,以及最后一名员工年龄的列.
如果我们想编写一些代码来在表格中存储新员工,那就不那么容易了.
在上图中,您还可以看到我们拥有的一个雇员对象,其中包含Id,名称,加入日期和年龄的字段.
如果没有ORM,我们必须将此对象转换为几个不同的SQL语句这会将员工数据插入到员工表中.
因此编写代码来创建SQL来执行上述方案并不难,但它是一个有点繁琐,很容易出错.
使用像NHibernate这样的ORM,我们可以声明某些类应该如何映射到关系表并让ORM或NHibernate处理在我们的员工表中创建用于插入,更新,删除查询数据的SQL的令人讨厌的工作.
这允许我们保留我们的代码专注于使用对象并将这些对象自动转换为关系表.
所以ORM真正做的是它使我们不必手动将对象映射到表.