NHibernate中的HQL非常的方便,它属于一种类面向对象的SQL语句。

该篇基于上一篇。
我们直接进入数据访问层DAL和数据访问层测试DAL.Test

DAL下的AnimalDAL.cs代码如下:

NHibernate的HQLusing System;
NHibernate的HQL
using System.Collections.Generic;
NHibernate的HQL
NHibernate的HQL
using Model.Entities;
NHibernate的HQL
using NHibernate;
NHibernate的HQL
NHibernate的HQL
namespace DAL
在数据访问层AnimalDAL.cs中,小菜增加了三个函数GetAnimals(),GetAnimalsID(),SearchAnimal(String animalType)

String queryString = "from AnimalInfo";
String queryString = "select animal.AnimalID from AnimalInfo as animal";
String queryString = "from AnimalInfo as animal where animal.AnimalType like '%:animalType%'";

从这三个语句可以看出我们过度到HQL基本没什么阻碍。和SQL语句类似,而且还更方便。
HQL语句充满面向对象的影子,看起来很舒服。
还有其它一些功能,如:where,order by,group by等等大家可以自己试试,和Sql语句没有多少区别。

测试
DAL.Test下的AnimalDALFixture.cs代码如下:
NHibernate的HQLusing System;
NHibernate的HQL
using System.Collections.Generic;
NHibernate的HQL
NHibernate的HQL
using Model.Entities;
NHibernate的HQL
using NHibernate;
NHibernate的HQL
using NUnit.Framework;
NHibernate的HQL
NHibernate的HQL
namespace DAL.Test

在一次感叹一下,测试真的是个好东西啊!!!啊!!!

代码下载:https://files.cnblogs.com/a-peng/ORM_Chapter02.rar


相关文章: