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注册。