Linq 实现sql中的not in和in条件查询
T-SQL的IN:
Select ProductID, ProductName, CategoryID
From dbo.Products
Where CategoryID in (1, 2)
T-SQL的NOT IN:
Select ProductID, ProductName, CategoryID
From dbo.Products
Where CategoryID not in (1, 2)
Or
Select ProductID, ProductName, CategoryID
From dbo.Products
Where not CategoryID in (1, 2)
LINQ的IN:
var queryResult = from p in db.Products
where (new int?[] {1,2}).Contains(p.CategoryID)
select p;
LINQ的IN解析成SQL:
SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued]
FROM [dbo].[Products]AS [t0]
WHERE [t0].[CategoryID] IN (@p0, @p1)
LINQ的NOT IN:
var queryResult = from p in db.Products
where ! (new int?[] {1,2}).Contains(p.CategoryID)
select p;
LINQ的NOT IN解析成SQL:
SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued]
FROM [dbo].[Products]AS [t0]
WHERE NOT [t0].[CategoryID] IN (@p0, @p1)
转载于:https://www.cnblogs.com/qiuguochao/p/6612957.html
Linq 实现sql中的not in和in条件查询相关推荐
- 【转】 LINQ TO SQL中的selectMany
首先看SelectMany的定义: Queryable中的SelectMany 方法:将序列的每个元素投影到一个 IEnumerable<(Of <(T>)>) 并将结果序列组 ...
- LINQ TO SQL中还是用传统的连接串方式建立DbContext更好些
首先,在LINQTOSQL中可以这样建立一个dbcontext private TEntity GetOriginal(TEntity entity) { ...
- 在Linq to Sql中管理并发更新时的冲突(3):使用记录的时间戳进行检测
我们描述了Linq to Sql检测在更新时是否产生了冲突的基本方法:将该记录每个字段原来的值和更新时的值进行对比,如果稍有不同则意味着记录被修改过,因此产生了更新冲突.不过您是否有这样的感觉,这种方 ...
- 在LINQ to SQL中使用Translate方法以及修改查询用SQL
目前LINQ to SQL的资料不多--老赵的意思是,目前能找到的资料都难以摆脱"官方用法"的"阴影".LINQ to SQL最权威的资料自然是MSDN,但是M ...
- linq to sql中的自动缓存(对象跟踪)
这篇东西应该至少一年前就写的,不过因为个人太懒,一直没记下来,今天补上. linq to sql中,对于同一个DataContext上下文环境,根据表主键选择记录时(当然这里所指的"记录&q ...
- 浅谈Linq to SQL中的模式
学习Linq to SQL也有一段时间了,感叹它做为ORM虽然简单但是功能效率都还不错,从编译器和语言层面支持上来看,它是其他ORM工具不能比的.Linq to SQL中运用了很多模式对自身的效率进行 ...
- Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式
当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
,我们做了基于linq to sql 的多条件组合查询,但通过监视数据库发现,这样做的成本比较高,每次都要取出全部的数据到内存进行筛选.如何从真正意义上做到延迟加载,即一次只从数据库中取我们需要的用到 ...
- linq to sql中修改连接字符串
如果在类库中在添加linq to sql并连接完数据库服务器后会自动生成settings.settings文件,app.config文件用于存储连接字符串(图一) 如要修改连接字符串要修改哪个还是要全 ...
最新文章
- BaaS, IaaS, PaaS, SaaS介绍
- GEO数据挖掘(2)-GEO数据库
- Java Code Convention Rules
- Python入门(good)
- docker 启动sqlserver_Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)...
- 1202年最新最详细最全的synchronized知识详解
- python shutil模块用法实例分析_Python shutil模块用法实例分析
- 李学勤:功利化是现在教育的最大问题
- 【three.js】库
- python winsound_将winsound转换为linux平台?
- CentOs中mysql的安装与配置
- Win2008学习(九),Remote App发布MSI格式程序
- pip常用命令、配置pip源
- iSCSI网络储存应用
- dvr服务器系统,DVR监控软件 V1.0
- Mac系统升级后导致AS不能使用SVN
- java中标签内容居中显示_图形标签中图像上的figcaption标签的居中和对齐宽度
- 用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
- Andoid扫码枪监听
- java生成word带多级标题,word2007中多级标题的设置和目录的自动生成 | 学步园