EF 复杂语句的使用
//EF多重排序
context.Serials
.Where(s => ("," + s.VideoGenreIds + ",").Contains("," + genreIds + ",") && s.IsEnable && !s.IsDel)
.OrderByDescending(v => v.Weight)
.ThenByDescending(v => v.Hot)
.Skip((currentPage - ) * 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();
EF 复杂语句的使用的更多相关文章
- EF 常见语句以及sql语句简单 后续继续添加
1.注意级联删除的时候数据库的外键要设置为开启级联删除,(数据库里sqlserver的外键修改的时候,可以看到级联删除和级联更新) using System;using System.Collecti ...
- lambda表达式和ef的语句转化
这两者转化可以用linqpad进行转化, 首先推荐一个网站可以了解一下orderby的排序方式 http://www.csharpwin.com/csharpspace/614.shtml 然后下面有 ...
- 一个7重嵌套表EF添加语句,注意子表赋值过程中只需写子表主键赋值,不需要写子表外键=父表主键。EF创建时会自动将子表外键设为与父表主键相等
AIRPORT_HELIPORT tt = new AIRPORT_HELIPORT() { AIRPORT_HELIPORT_UUID = Gui ...
- EF 保证线程内唯一 上下文的创建
1.ef添加完这个对象,就会自动返回这个对象数据库的内容,比如下面这个表是自增ID 最后打印出来的ID 就是自增的结果 2.lambda 中怎么select * var userInfoList = ...
- EF 4.1 一些操作
1.执行返回表类型的存储过程 Create PROCEDURE [dbo].[ProSelectStu] @StudentID int AS BEGIN Select Student.* from E ...
- MVC4 + EF + System.Threading.Thread 出现的问题记录
项目要求是页面监测到后台数据库用户数据(Users)变化,前台做出相应的响应和操作. 一.参考很多资料,大概有几种方式: 参考资料地址:http://www.cnblogs.com/hoojo/p/l ...
- Entity Framework执行Sql语句返回DataTable
Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作.如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的 ...
- Ef 自动迁移,日志
Ef 迁移 在vs打开程序控制台 2,选择程序集 ,如果是初次,输入 Enable-Migrations,启动迁徙 3 添加迁移,完成修改 4,之后会自动生成迁移配置文件. 然后再上下文类中加入 两 ...
- 设置 sqlserver Profiler 只监控 EF的sql执行请求
当我们用EF执行语句的时候,可以使用 sqlserver Profiler来监控到底执行了哪些sql语句,但是默认他是监控全局的,我们只想监控Ef的语句,这里如下设置 这样就只会监控 EF产生的 sq ...
随机推荐
- hdu 1503 Advanced Fruits(LCS输出路径)
Problem Description The company "21st Century Fruits" has specialized in creating new sort ...
- 从Java的角度修复CSRF漏洞
漏洞挖掘中,说实话挖过最多的漏洞就属CSRF漏洞了,提交CSRF漏洞很多次,绕过CSRF防御进行攻击也有很多次.CSRF漏洞是一个很容易引发的问题,今天我从Java的角度来说下这个安全漏洞的修复方案. ...
- win32: WM_PAINT 实现双缓冲缓图
相关参考资料: GDI下实现双缓冲 - http://jingyan.baidu.com/article/e73e26c0f8df2424acb6a76e.html <Win32_19>用 ...
- Mybatis非mapper代理配置
转: Mybatis非mapper代理配置 2017年04月26日 20:13:48 待长的小蘑菇 阅读数:870 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...
- 梯度提升树(GBDT)原理小结(转载)
在集成学习值Adaboost算法原理和代码小结(转载)中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boos ...
- 大型游戏案例UI开发总结_1
Canvas(画布)中选择Render Mode----Screen Space Camera,为了在摄像机和UI画布之间放置3D物体. Camera中的Projection选择Orthographi ...
- (线性结构dp )POJ 1260 Pearls
Pearls Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10558 Accepted: 5489 Descripti ...
- 配置taBar所遇见的问题(踩坑之路)
目前效果图: 问题:我遇见一个问题,点击每周关注的时候,他应该跳转到哪一个页面.在没有设置taBar还是可以跳转的. 解决方法是: 修改 open-type='navigate'为switchTab( ...
- python自动化开发-[第十九天]-分页,cookie,session
今日概要: 1.cookie和session 2.csrf 跨站请求伪造 3.自定义分页 一.上节回顾: http请求的本质: - Http请求本质 浏览器(socket客户端): 2. socket ...
- 正态分布-python建模
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...