LINQ系列:LINQ to SQL Where条件

来源:互联网 发布:草莓音乐节 上海 知乎 编辑:程序博客网 时间:2024/04/25 21:31

1. 单一条件查询

var expr = context.Products    .Where(p => p.ProductName == "LINQ to SQL");
复制代码
SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[CategoryID] AS [CategoryID],     [Extent1].[ProductName] AS [ProductName],     [Extent1].[UnitPrice] AS [UnitPrice],     [Extent1].[Discontinued] AS [Discontinued]    FROM [dbo].[Product] AS [Extent1]    WHERE N'LINQ to SQL' = [Extent1].[ProductName]
复制代码

2. 组合条件查询

var expr = context.Products    .Where(p => p.ProductName == "LINQ to SQL" && p.UnitPrice > 10m);
复制代码
SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[CategoryID] AS [CategoryID],     [Extent1].[ProductName] AS [ProductName],     [Extent1].[UnitPrice] AS [UnitPrice],     [Extent1].[Discontinued] AS [Discontinued]    FROM [dbo].[Product] AS [Extent1]    WHERE (N'LINQ to SQL' = [Extent1].[ProductName]) AND ([Extent1].[UnitPrice] > cast(10 as decimal(18)))
复制代码

3. Like查询

var expr = from p in context.Products           where p.ProductName.StartsWith("LINQ")           select new { p.ProductID, p.ProductName };
SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[ProductName] AS [ProductName]    FROM [dbo].[Product] AS [Extent1]    WHERE [Extent1].[ProductName] LIKE N'LINQ%'
var expr = from p in context.Products           where p.ProductName.EndsWith("LINQ")           select new { p.ProductID, p.ProductName };
SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[ProductName] AS [ProductName]    FROM [dbo].[Product] AS [Extent1]    WHERE [Extent1].[ProductName] LIKE N'%LINQ'
var expr = from p in context.Products           where p.ProductName.Contains("LINQ")           select new { p.ProductID, p.ProductName };
SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[ProductName] AS [ProductName]    FROM [dbo].[Product] AS [Extent1]    WHERE [Extent1].[ProductName] LIKE N'%LINQ%'