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条件查询相关推荐

  1. 【转】 LINQ TO SQL中的selectMany

    首先看SelectMany的定义: Queryable中的SelectMany 方法:将序列的每个元素投影到一个 IEnumerable<(Of <(T>)>) 并将结果序列组 ...

  2. LINQ TO SQL中还是用传统的连接串方式建立DbContext更好些

        首先,在LINQTOSQL中可以这样建立一个dbcontext      private TEntity GetOriginal(TEntity entity)         {       ...

  3. 在Linq to Sql中管理并发更新时的冲突(3):使用记录的时间戳进行检测

    我们描述了Linq to Sql检测在更新时是否产生了冲突的基本方法:将该记录每个字段原来的值和更新时的值进行对比,如果稍有不同则意味着记录被修改过,因此产生了更新冲突.不过您是否有这样的感觉,这种方 ...

  4. 在LINQ to SQL中使用Translate方法以及修改查询用SQL

    目前LINQ to SQL的资料不多--老赵的意思是,目前能找到的资料都难以摆脱"官方用法"的"阴影".LINQ to SQL最权威的资料自然是MSDN,但是M ...

  5. linq to sql中的自动缓存(对象跟踪)

    这篇东西应该至少一年前就写的,不过因为个人太懒,一直没记下来,今天补上. linq to sql中,对于同一个DataContext上下文环境,根据表主键选择记录时(当然这里所指的"记录&q ...

  6. 浅谈Linq to SQL中的模式

    学习Linq to SQL也有一段时间了,感叹它做为ORM虽然简单但是功能效率都还不错,从编译器和语言层面支持上来看,它是其他ORM工具不能比的.Linq to SQL中运用了很多模式对自身的效率进行 ...

  7. Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式

    当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...

  8. linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)

    ,我们做了基于linq to sql 的多条件组合查询,但通过监视数据库发现,这样做的成本比较高,每次都要取出全部的数据到内存进行筛选.如何从真正意义上做到延迟加载,即一次只从数据库中取我们需要的用到 ...

  9. linq to sql中修改连接字符串

    如果在类库中在添加linq to sql并连接完数据库服务器后会自动生成settings.settings文件,app.config文件用于存储连接字符串(图一) 如要修改连接字符串要修改哪个还是要全 ...

最新文章

  1. BaaS, IaaS, PaaS, SaaS介绍
  2. GEO数据挖掘(2)-GEO数据库
  3. Java Code Convention Rules
  4. Python入门(good)
  5. docker 启动sqlserver_Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)...
  6. 1202年最新最详细最全的synchronized知识详解
  7. python shutil模块用法实例分析_Python shutil模块用法实例分析
  8. 李学勤:功利化是现在教育的最大问题
  9. 【three.js】库
  10. python winsound_将winsound转换为linux平台?
  11. CentOs中mysql的安装与配置
  12. Win2008学习(九),Remote App发布MSI格式程序
  13. pip常用命令、配置pip源
  14. iSCSI网络储存应用
  15. dvr服务器系统,DVR监控软件 V1.0
  16. Mac系统升级后导致AS不能使用SVN
  17. java中标签内容居中显示_图形标签中图像上的figcaption标签的居中和对齐宽度
  18. 用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
  19. Andoid扫码枪监听
  20. java生成word带多级标题,word2007中多级标题的设置和目录的自动生成 | 学步园

热门文章

  1. MySQL于ON DUPLICATE KEY UPDATE采用
  2. 杂记-字符串的字节长度
  3. 组建内存双通道的条件
  4. T-SQL DML学习笔记
  5. [转]CNN目标检测(一):Faster RCNN详解
  6. Nginx 启动报错 “/var/run/nginx/nginx.pid failed”
  7. 常见的攻击手段及其防御方式
  8. 跨地域的VPC私网互通【高速通道案例】
  9. VMware桥接模式无法连网
  10. 使用pandas进行量化回测(akshare)