WEB开发网
开发学院软件开发C语言 AOP的两个应用:实体集更新(DateEntityListUpdate... 阅读

AOP的两个应用:实体集更新(DateEntityListUpdate)、延迟加载(LazyLoad)(下)

 2010-09-30 21:02:52 来源:WEB开发网   
核心提示: 前台调用代码没有改变:privatevoidbtnCascadeQuery_Click(objectsender,EventArgse){//级联查询try{ATCompanyTypeda=newATCompanyType();da.AccessOptions=AccessOptions.Def

前台调用代码没有改变:

        private void btnCascadeQuery_Click(object sender, EventArgs e)
        {
            //级联查询
            try
            {
                ATCompanyType da = new ATCompanyType();
                da.AccessOptions = AccessOptions.Defined;
                //排除引用实体属性
                da.PropertyFilter = null;
                //列出分类
                ListSubType(da.Select("ParentId=0"));
                da.Dispose();
            }
            catch (System.Exception e1)
            {
                ShowErrorMessage(e1.Message);
            }
        }
        //列出子分类
        private void ListSubType(TCompanyTypes list)
        {
            if (list == null) return;
            foreach(TCompanyType type in list)
            {
                //分类名称
                ShowMessage("类别名称:" + type.Name);
                //该分类下的公司
                ListSubCompany(type.Companies);
                //该分类下的子类
                ListSubType(type.SubCompanyTypes);
            }
        }
        //列出分类公司下面的子公司
        private void ListSubCompany(TCompanies companies)
        {
            if (companies == null) return;
            foreach (TCompany company in companies)
            {
                ShowMessage("公司名称:" + company.Name);
                ListSubCompany(company.SubCompanies);
            }
        }

总结:使用继承ContextBoundObject感觉不爽,数据在经过这么多的Sink后,性能必定有所损耗,但配上分页,我想这样的不足可以有所弥补。

声明:不要死里的盯着上面的代码,什么类不存在,我发这个的目的是阐述里面思想。

上一页  1 2 3 

Tags:AOP 两个 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接