.net EF Join 关联表分页查询
Join中第二个参数和第三个参数即为两张表关联对应的字段
第四个参数new 后面如果不写Model名,系统会自动生成带字段的list类型
IQueryable<Operator> operators = operatorService.GetAll();
IQueryable<Training> trainings = trainingService.GetAll();
var list = trainings.Join(operators, a => a.OperatorId, b => b.Id, (a, b) => new OperatorTrainingReportVM
{
EmployeeNO = b.EmployeeNO,
Name = b.Name,
Sex = b.Sex,
AreaName = b.Area.Name,
CostName = b.Cost.Name,
OnBoardDate = b.OnBoardDate,
ShiftName = b.Shift.Name,
DirectorNO = b.Director.EmployeeNO,
DirectorName = b.Director.Name,
ConfirmDate = b.ConfirmDate,
IsDimission = b.DimissionDate != null ? true : false,
DimissionDate = b.DimissionDate,
ServiceDays = (int)DbFunctions.DiffDays(b.OnBoardDate, DateTime.Now),
PositionName = b.Position.Name,
PositionLevelName = b.PositionLevel.Name,
DimissionName = b.Dimission.Name,
DimissionReason = b.Dimission.Reason,
StartDate = a.StartDate,
EndDate = a.EndDate,
ExamineDate = a.ExamineDate,
ExpireDate = a.ExpireDate,
Enginner = a.Enginner,
Trainer = a.Trainer,
Score = a.Score,
StandardScore = a.StandardScore,
Result = a.Result,
CourseName = a.Course.Name,
OperationLevelName = a.OperationLevel.Name,
Enabled = b.Enabled
}).Where(whLamdba);
total = list.Count();
var result = list.OrderBy(t => t.EmployeeNO).Skip(start).Take(pageSize).ToList();
其中Join部分具体是inner join还是left join,EF会自动根据查询条件生成相应的SQL
最新文章
- CentOS7 查看IP、Gateway、DNS、Hostname
- Spring MVC启动过程
- poj 3984:迷宫问题(广搜,入门题)
- HLSL之镜面反射光照
- eclipse的使用-------Text File Encoding没有GBK选项的设置
- AES对称加密算法原理
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.5.SportsStore一个真实的程序
- 常见JS(JavaScript)冲突解决方法
- 你今天Python了吗?(下)
- JNI编程(一) —— 编写一个最简单的JNI程序
- <;html:form>;、 <;html:text>;、<;html:password>;、<;html:submit>; 标签
- iOS自动打发布包-备用
- Android真机连接手机Target显示unknown cmd命令下adb devices 显示offline
- golang中container/list包源码分析
- 4327: JSOI2012 玄武密码
- 【深入Java虚拟机】二 类加载与双亲委派
- 1、安装Angular-CLI脚手架工具
- RabbitMQ的应用场景以及基本原理介绍(转)
- ios 开发UI篇—UITextView
- Ruby快速入门