本文转自:http://blog.csdn.net/zhangyumei/article/details/5620363

接触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 Linq 中却不知道如何实现了,最近遇到了一个问题,在 LINQ 的 Where 条件式中要如何使用 IN 与 NOT IN 呢? 这时候真的开始怀念 T-SQL 其实还是最好用的。为了让自己日后开发时更为方便,于是花了一点时间,参考一些网络资料及 MSDN 后,得到以下的测试結果:

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)

最新文章

  1. 【大数据技巧】日均2TB日志数据在线快速处理之法
  2. 构建自己的PHP框架--定义ORM的接口
  3. C++ default 和delete的新用法
  4. NineOldAndroid开源库简单使用demo
  5. 使用hessian+protocol buffer+easyUI综合案例--登陆
  6. Android线程池(二)
  7. Grid分组特性
  8. WPA/WAP2wifi 密码破解笔记
  9. IClassSchemaEdit修改要素类信息
  10. 存储过程——在LINQ中使用(六)
  11. poj 2828 Buy Tickets (线段树(排队插入后输出序列))
  12. Linux 内核优化
  13. POJ 3254 Corn Fields(状态压缩)
  14. 10-ajax技术简介
  15. PAT甲级1034 Head of a Gang【bfs】
  16. centos7.3安装Nginx
  17. sqlite数据库下载安装和初步操作和所遇到的问题near "sqlite3":syntax error
  18. springboot-3-aop
  19. zabbix最新版3.4搭建(根据官方文档适当修改)
  20. 搭建Spring开发环境并编写第一个Spring小程序

热门文章

  1. XFire WebService demo
  2. elasticsearch索引查询,日志搜素
  3. SVN命令使用详解【转】
  4. codeforces 460B Little Dima and Equation 解题报告
  5. MFC之document与view实践总结
  6. 「LuoguP1238」 走迷宫
  7. 「LuoguT36048」 Storm in Lover
  8. Python的单元测试工具——doctest
  9. node.js适合游戏后台开发吗?
  10. 笔记本创建wifi热点