Linq in條件查詢


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  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  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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM