何老师的框架哲学

Posted 贵达

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了何老师的框架哲学相关的知识,希望对你有一定的参考价值。

查询实体与查询对象

查询实体上一个包含网页提交过来参数的类

 

查询对象上通过查询实体创建的一个类,这个类中包含了一些方法

 

QueryControllerBase 上控制器的基类,一个方法是

public virtual ActionResult PagerQuery( TQuery query ) {
            SetPage( query );//query是查询实体,这里把分页的参数增加到查询实体
            var result = Service.PagerQuery( query ); 参看1
            return ToDataGridResult( ConvertQueryResult( result ).ToList(), result.TotalCount,result.SEcho ); 参看2
        }

 

 

1  ApplicationServiceBase 中PagerQuery( query )

public virtual PagerList<TDto> PagerQuery( TQuery queryEntity ) {
            var query = CreateQuery( queryEntity );//添加上每个页面的参数,根据查询实体返回一个查询对象
            var queryable = Query( query );//返回IQueryable对象  这里的query就是查询对象了
            queryable = FilterQueryable( queryable );//钩子函数,方便在程序中增加过滤条件
            var pager = query.GetPager();//分页参数已经在CreateQuery中通过查询实体实例化到查询对象中,这里是从查询对象中获得分页和排序信息
            return _repository.OrderBy( queryable, pager.Order ).Pager( pager ).ToPageList( pager ).Convert( ToDto );//从数据库获得数据
        }

 

2 EasyUiControllerBase 是控制器的一个基类 QueryControllerBase继承与它,它内的一个函数

protected ActionResult ToDataGridResult<T>(IList<T> data, int totalCount = 0, string sEcho = "")
        {
            return new DataGridResult(data, GetTotalCount(data, totalCount), sEcho).GetResult();
        }

通过这个函数,把获得的List数据变成界面可识别的Json数据返回到界面

 

以上是关于何老师的框架哲学的主要内容,如果未能解决你的问题,请参考以下文章

2星|《戏说统计》:哲学老师的统计学课讲稿,复杂,罗嗦,不断跑题

区块链与哲学

哲学是什么?

如何防止用餐哲学家c ++中的死锁

希腊罗马哲学框架整理(自用)

关于哲学的演讲