NHibernate 中createSqlQuery的变态执行


 var temp = Session.CreateSQLQuery(sql);
这个的确很变态

一般使用CreateSqlQuery返回的是一个枚举的泛型集合。

然后在得到数据的时候一般都会使用temp.List();
这个就是变态的地方,使用一次temp.list()。sql就会执行一次,使用多次Sql就会执行多次。

比如:
var ListTemp = temp.List();执行一次
var count = ListTemp.List().Count();//又执行一次

所以在使用的时候应该在最初的地方使用List一次就行
 var temp = Session.CreateSQLQuery(sql).List();
以后使用temp的时候就不会执行多次Sql





本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

posted @ 2011-04-29 02:38  音乐啤酒  阅读(579)  评论(0编辑  收藏  举报