LINQ系列:LINQ to SQL Select查询

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

1. 查询全部字段

复制代码
using (NorthwindContext context = new NorthwindContext()){    var expr = context.Products;    foreach (var item in expr)    {        Console.WriteLine(item.ProductName);    }}
复制代码
复制代码
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]
复制代码

2. 查询指定字段

var expr = context.Products    .Select(p => new { p.ProductID, p.ProductName });
var expr = from p in context.Products            select new { 商品ID = p.ProductID, 商品名称 = p.ProductName };

  上述两种形式所生成的SQL是一样的。

SELECT     [Extent1].[ProductID] AS [ProductID],     [Extent1].[ProductName] AS [ProductName]    FROM [dbo].[Product] AS [Extent1]

3. First/FirstOrDefault

var expr = context.Products.First();
复制代码
SELECT TOP (1)     [c].[ProductID] AS [ProductID],     [c].[CategoryID] AS [CategoryID],     [c].[ProductName] AS [ProductName],     [c].[UnitPrice] AS [UnitPrice],     [c].[Discontinued] AS [Discontinued]    FROM [dbo].[Product] AS [c]
复制代码

4. Single/SingleOrDefault

var expr = context.Products    .SingleOrDefault(p => p.ProductID == 1);
复制代码
SELECT TOP (2)     [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 1 = [Extent1].[ProductID]
复制代码
原创粉丝点击