EF导航属性真分页查询
来源:互联网 发布:聚宝盆返奖统计软件 编辑:程序博客网 时间:2024/06/05 08:40
在最近做的人事档案重构项目中,由于需求要求不要用视图、存储过程等,而且这个项目数据库字段的数量实在是令人发指,就我负责的综合信息查询来说,一个页面要显示7张表的数据,字段加起来都百八十个了。
首先看一下数据库结构:
basicInfomation是基本信息表,主键是nowTechnicalRecords(技术档案)的外键。现在页面上要显示的是一部分基本信息表的信息,一部分是技术档案的信息。所以需要根据导航属性进行关联查询。
通过查ef的文档,知道有个方法是用来进行关联查询的:include()。以下是关联查询和真分页的实践:
/// <summary> /// 分页查询 /// </summary> /// <typeparam name="Tkey"></typeparam> /// <param name="pageSize">每页显示条数</param> /// <param name="pageIndex">第几页</param> /// <param name="total">总条数</param> /// <param name="whereLambda">查询条件的lambda表达式</param> /// <param name="orderbyLambda">排序的lambda表达式</param> /// <returns></returns> public List<T_NowTechnicalRecords> QueryBasicInfo<Tkey>(int pageSize, int pageIndex, out int total, Expression<Func<T_NowTechnicalRecords, bool>> whereLambda, Expression<Func<T_NowTechnicalRecords, Tkey>> orderbyLambda) { renshiEntities db =new renshiEntities(); //定义数据库上下文 total = db.Set<T_NowTechnicalRecords>().Where(whereLambda).Count();//总记录数 var temp = db.T_NowTechnicalRecords.Include("T_BasicInformation") //进行ef查询 .Where(whereLambda) .OrderBy(orderbyLambda) .Skip(pageSize * (pageIndex - 1)) .Take(pageSize); return temp.AsQueryable().ToList();//转换成list }这样,在temp中就可以查询到第pageIndex页共有pageSize条数据,数据中,BasicInformation作为NowTechnicalRecords的属性被查询出来。
返回到页面上:
首先要定义model:
@model IEnumerable<TalentServiceCenterFileManage.Model.T_NowTechnicalRecords>然后在td标签中绑定字段:
<tr> @*nowTechnicalRecords表字段*@ <th>nowoRiginalTitle</th> <th>createTime</th> <th>nowEonDate</th> @*basicInformation表字段*@ <th>num</th> <th>name</th></tr> @foreach (var item in Model) { <tr> <td>@item.nowoRiginalTitle</td> <td>@item.createTime</td> <td>@item.nowEonDate</td> <td>item.T_BasicInformation.num</td> <td>item.T_BasicInformation.name</td> </tr> }这样就实现了ef导航属性真分页查询。
0 0
- EF导航属性真分页查询
- EF导航属性,Include
- EF实现分页查询+条件查询+排序
- EF CodeFirst 关系与导航属性
- EF执行SQL分页查询语句
- .net EF Join 关联表分页查询
- 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
- Java分页查询(真分页)
- EF Code First 导航属性 与外键 学习笔记
- EF查询
- EF查询
- 分页查询,你真的懂吗?
- 【demo积累】——真分页查询
- 分页--SQL分页+EF分页+新闻分页
- EF分页方法
- EF SQL分页
- table展示数据,数据分页查询,底部导航生成
- Hibernate查询(主键,对象导航,HQL,Criteria,SQLQuery,分页)
- 单行文本框和多行文本框UiTextfield UiTextView
- IIC总线分析
- 一起talk C栗子吧(第四十三回:C语言实例--图)
- sshfs挂载与ssh无密码登录
- 设计模式简单理解
- EF导航属性真分页查询
- 使用sshfs挂载远程目录
- Editorial Codeforces Round #Pi
- 抽象类
- 盒子(uva-1587)
- Linux实现SSH无密码登录
- 3.2.5.1 检查一手扑克牌
- Win创建快捷方式CMD定位到目录
- 计算机经典书籍电子书合集