佬唐

博客园 首页 新随笔 联系 订阅 管理

用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模型层类)
    {
        //
    }
}

posted on 2009-08-19 11:50  佬唐  阅读(162)  评论(0)    收藏  举报