白折腾了一天,原来NHibernate的 各种 Dll的版本不一样,配置文件经常找不到路径,
换了好几个源码都无法正常运行, 最后在CodeProject.com里找到一个思路比较清晰的Demo,
郁闷的是居然没有数据库文件,自己勉强从实体层xml还原数据库,呵呵,这会可OK了。
不知分页效果如何,顺便把分页也写进去,当然首选应该是 AspNetPager 吧,刚好集成一下,还不懒!
性能比较就没有测试过了,不知和Ado.Net相比,效果如何,本人一直都是用Ado.Net的,有望高手指点一下!!
效果图:
Sql文件
分页函数
/// <summary>
/// 获取分页
/// </summary>
/// <param name="pageStart"></param>
/// <param name="pageLimit"></param>
/// <returns></returns>
public IList<Customer> GetCustomerPageModel(int pageStart, int pageLimit)
{
//HQL查询
IList<Customer> customerList = GetSession().CreateQuery("from Customer")
.SetFirstResult(pageStart * pageLimit)
.SetMaxResults(pageLimit)
.List<Customer>();
return customerList;
//条件查询
//return Session.CreateCriteria(typeof(Customer))
// .SetProjection(Projections.ProjectionList()
// .Add(Projections.Property("Id"), "Id")
// .Add(Projections.Property("Name"), "Name")
// .Add(Projections.Property("Tel"), "Tel")
// .Add(Projections.Property("Address"), "Address")
// .Add(Projections.Property("Sex"), "Sex")
// .Add(Projections.Property("CreateDate"), "CreateDate"))
// .AddOrder(Order.Asc("Id"))
// .SetFirstResult(pageStart * pageLimit)
// .SetMaxResults(pageLimit)
// .SetResultTransformer(Transformers.AliasToBean(typeof(Customer)))
// .List<Customer>();
//SQL查询
//IList<Customer> customerList = Session.CreateSQLQuery("SELECT * FROM Customer")
// .SetFirstResult(pageStart*pageLimit)
// .SetMaxResults(pageLimit)
// .SetResultTransformer(Transformers.AliasToBean<Customer>()).List<Customer>();
//return customerList;
}
Default.aspx.cs