用SQL Server 事件探查器看了一下,哇塞,每打开一个页面都select了n多次数据库,而且很多都是类似的代码?为啥?
(1)、二级嵌套绑定数据源
(2)、二级联动
(3)、……多着呢!
解决方法:
对于数据不大的且需多次访问的表,如什么分类表呀,状态列表呀,干脆就一次性全部select出来,放在IList中,再用Find系列方法找你所需要的集合或行。
在内存中Find总表在数据库select快吧?并且总集合又不大,老是去建立连接访问数据库干嘛呢?!
List
list_all=BLL.所有行();
List
list_需要的 = list_all.FindAll(new Predicate
(
Bol查找类.查找方法));
或
List
list_需要的= list_all.FindAll(new Predicate
(
delegate(BOL bo){return bo.属性== 条件值;}
));
public class BOL模型查找类
{
private 字段;
public Bol查找类(字段……)//构造
{
//字段赋值
}
public bool 查找方法(BOL模型层类)
{
//
}
}