EF 复杂语句的使用
2016-03-03 15:07
323 查看
//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();
相关文章推荐
- 开学了
- Java Servlet
- 深入理解Java Annotation
- leetcode - Count of Smaller Numbers After Self
- Java 回顾笔记_异常
- jquery.cookie中的操作(跨域共享)
- Asp.net MVC Session过期异常的处理
- 如何更好的判断系统上传文件是指定文件类型--文件魔术数字
- Perl - File I/O
- java有参构造方法和无参构造方法
- 反编译技巧
- 16-3-3代码
- 给ListBox每项加图标
- 系统出现tcpip临时端口不够用
- SmartClient
- nginx的配置系统
- 简单说明多态
- sonarQube的配置和使用(在本地安装)
- setOnItemSelectedListener、setOnItemClickListener与setOnTouchlistener的区别
- spark入门实战