300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > LINQ系列:LINQ to SQL Exists/In/Any/All/Contains

LINQ系列:LINQ to SQL Exists/In/Any/All/Contains

时间:2019-03-27 06:14:49

相关推荐

LINQ系列:LINQ to SQL Exists/In/Any/All/Contains

1. Any

返回没有Product的Category

var expr = from c in context.Categorieswhere !c.Products.Any()select c;

SELECT [Extent1].[CategoryID] AS [CategoryID], [Extent1].[CategoryName] AS [CategoryName]FROM [dbo].[Category] AS [Extent1]WHERE NOT EXISTS (SELECT 1 AS [C1]FROM [dbo].[Product] AS [Extent2]WHERE [Extent1].[CategoryID] = [Extent2].[CategoryID])

var expr = from c in context.Categorieswhere !c.Products.Any(p => p.UnitPrice > 10m)select c;

SELECT [Extent1].[CategoryID] AS [CategoryID], [Extent1].[CategoryName] AS [CategoryName]FROM [dbo].[Category] AS [Extent1]WHERE NOT EXISTS (SELECT 1 AS [C1]FROM [dbo].[Product] AS [Extent2]WHERE ([Extent1].[CategoryID] = [Extent2].[CategoryID]) AND ([Extent2].[UnitPrice] > cast(10 as decimal(18))))

2. All

var expr = from c in context.Categorieswhere c.Products.All(p => p.Discontinued)select c;

SELECT [Extent1].[CategoryID] AS [CategoryID], [Extent1].[CategoryName] AS [CategoryName]FROM [dbo].[Category] AS [Extent1]WHERE NOT EXISTS (SELECT 1 AS [C1]FROM [dbo].[Product] AS [Extent2]WHERE ([Extent1].[CategoryID] = [Extent2].[CategoryID]) AND ([Extent2].[Discontinued] <> cast(1 as bit)))

3. Contains

var expr = from p in context.Productswhere new string[] { "LINQ to Object","LINQ to ", "LINQ to XML" }.Contains(p.ProductName)select p;

SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[CategoryID] AS [CategoryID], [Extent1].[ProductName] AS [ProductName], [Extent1].[UnitPrice] AS [UnitPrice], [Extent1].[UnitsInStock] AS [UnitsInStock], [Extent1].[Discontinued] AS [Discontinued]FROM [dbo].[Product] AS [Extent1]WHERE [Extent1].[ProductName] IN (N'LINQ to Object', N'LINQ to ', N'LINQ to XML')

var expr = from p in context.Productswhere !(new string[] { "LINQ to Object","LINQ to ", "LINQ to XML" }).Contains(p.ProductName)select p;

SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[CategoryID] AS [CategoryID], [Extent1].[ProductName] AS [ProductName], [Extent1].[UnitPrice] AS [UnitPrice], [Extent1].[UnitsInStock] AS [UnitsInStock], [Extent1].[Discontinued] AS [Discontinued]FROM [dbo].[Product] AS [Extent1]WHERE NOT ([Extent1].[ProductName] IN (N'LINQ to Object', N'LINQ to ', N'LINQ to XML'))

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。