• .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

  • 相关阅读:
    镜像源收集
    关于vue-cli3脚手架安装后回退到vue-cli2版本的问题
    window.location 对象
    常用正则表达式
    前端开发工程师面试题
    面试题1
    Echarts.js使用
    swipe.js 使用方法
    canvas基础API
    前端面试题集锦
  • 原文地址:https://www.cnblogs.com/asd14828/p/6514321.html
Copyright © 2020-2023  润新知