Linq 如何实现 in 与 not in
2015-03-30 17:38
295 查看
接触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 Linq 中却不知道如何实现了,最近遇到了一个问题,在 LINQ 的 Where 条件式中要如何使用 IN 与NOT IN 呢? 这时候真的开始怀念 T-SQL 其实还是最好用的。为了让自己日后开发时更为方便,于是花了一点时间,参考一些网络资料及 MSDN 后,得到以下的测试結果:
T-SQL的IN:
T-SQL的NOT IN:
Or
LINQ的IN:
LINQ的IN解析成SQL:
LINQ的NOT IN:
LINQ的NOT IN解析成SQL:
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
notin
(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 (
newint
?[] {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 ! (
newint
?[] {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)
相关文章推荐
- Linq 如何实现 in 与 not in
- Linq 如何实现 in 与 not in
- Linq to Sql 如何实现 in 与 not in
- Linq 如何实现 in 与 not in
- LINQ 如何实现 in 与 not in
- [转]Linq 如何实现 in 与 not in
- LINQ中in的实现方法-LINQ To Entities如何实现查询 select * from tableA where id in (1,2,3,4)
- Linq如何实现int与not in?
- 如何在LINQ中使用TSQL的IN或NOT IN
- LINQ To Entities如何实现查询 select * from tableA where id in (1,2,3,4) ?
- LINQ中实现 In 与 Not In
- 如何使用 Linq to Entity 实现 in 操作
- Linq 实现 in 与 not in
- 如何在linq to entity中实现回访剩余天数
- 在存储过程中如何实现将id列表字符串传入in()
- Linq中如何实现inner join、left join
- 如何通过ArcMap Add-in机制实现十字叉线地理配准工具
- LINQ实现IN操作
- 动态LINQ构建(实现等于不等于大于小于,like以及IN)
- 在存储过程中如何实现将id列表字符串传入in()