zoukankan      html  css  js  c++  java
  • EF 复杂语句的使用

    //EF多重排序
    context.Serials
                          .Where(s => ("," + s.VideoGenreIds + ",").Contains("," + genreIds + ",") && s.IsEnable && !s.IsDel)
                          .OrderByDescending(v => v.Weight)
                          .ThenByDescending(v => v.Hot)
                          .Skip((currentPage - 1) * pageSize)
                          .Take(pageSize)
                          .Select(v => new SerialBriefModel
                          {
                              Id = v.Id,
                              SerialName = v.SerialName,
                              LastEpisode = v.LastEpisode,
                              Description = v.Description,
                              PicturePath = v.PicturePath,
                              AddTime = v.AddTime
                          }).ToList();
    
    
    
    //EF group的使用以及 两表连接
    
    
    var model = context.Serials
                         .Where(s => s.Id == serialId && s.IsEnable && !s.IsDel)
                         .GroupJoin(context.SerialEpisodes.Where(e=>!e.IsDel), s => s.Id, e => e.SerialId, (s, e) 
                         => new SerialDetailModel
                         {
                             Id = s.Id,
                             SerialName = s.SerialName,
                             VideoAreaId = s.VideoAreaId,
                             VideoAreaName = s.VideoArea.AreaName,
                             VideoGenreIds = s.VideoGenreIds,
                             VideoLanguageId = s.VideoLanguageId,
                             VideoLanguageName = s.VideoLanguage.Language,
                             TotalEpisodes = s.TotalEpisodes,
                             LastEpisode = s.LastEpisode,
                             Director = s.Director,
                             Starring = s.Starring,
                             ReleaseYear = s.ReleaseYear,
                             PicturePath = s.PicturePath,
                             Description = s.Description,
                             Fee = s.VideoChargeMethod.Fee,
                             Hot = s.Hot,
                             Score = s.Score,
                             SerialEpisodes = e.OrderBy(se => se.SerialIndex).Select(se => new SerialEpisodeModel
                             {
                                 Id = se.Id,
                                 SerialIndex = se.SerialIndex,
                                 TagName = se.SerialTag.TagName,
                                 Title = se.Title,
                                 Description = se.Description
                             }
                             ).ToList()
                         }).FirstOrDefault();
  • 相关阅读:
    学习网站
    Windows下python安装运行
    Python学习
    ES学习
    Eclipse安装lombok及常用注解
    Spark学习资料
    Spring Cloud学习资料
    使用Excel过滤重复数据
    Excel根据字符串截取单元格部分内容
    Spring中@Transactional(rollbackFor = Exception.class)的作用
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/5238675.html
Copyright © 2011-2022 走看看