zoukankan      html  css  js  c++  java
  • .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

  • 相关阅读:
    JQuery移除事件
    .NET经常调用的外部系统函数举例说明
    sql server日期时间转字符串
    关于无法打开微软网站的解决方法[转]
    Html5 第二章
    style、currentStyle、getComputedStyle区别介绍
    删除右键菜单中多余项
    css制作流程及标准
    CSS的选择器
    Mysql 函数集
  • 原文地址:https://www.cnblogs.com/asd14828/p/6514321.html
Copyright © 2011-2022 走看看