介绍
以Northwind为示例数据库,ADO.NET Entity Framework之Linq To Entities
  • Select - 选择需要返回的字段
  • Where - 筛选
  • OrderBy - 正序排序
  • OrderByDescending - 倒序排序
  • ThenBy - 在 OrderBy 或 OrderByDescending 的基础上再正序排序
  • ThenByDescending - 在 OrderBy 或 OrderByDescending 的基础上再倒序排序
  • GroupBy - 分组
  • Join - 连接
  • GroupJoin - 连接后分组


示例
Select
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Select 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.Select(p => new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ ProductName = "产品名称:" + p.ProductName });
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Select 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products select new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ ProductName = "产品名称:" + p.ProductName };
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--Select 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)N
'产品名称:' + [Extent1].[ProductName] AS [C2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM [dbo].[Products] AS [Extent1]

Where
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Where 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.Where(p => p.ProductID > 3);
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Where 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products where p.ProductID > 3 select p;
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--Where 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
WHERE [Extent1].[ProductID] > 3

OrderBy
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// OrderBy 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.OrderBy(p => p.UnitPrice);
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// OrderBy 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products orderby p.UnitPrice select p;
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--OrderBy 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[C1] AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
ORDER BY [Project1].[UnitPrice] ASC

OrderByDescending
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// OrderByDescending 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.OrderByDescending(p => p.UnitPrice);
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// OrderByDescending 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products orderby p.UnitPrice descending select p;
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--OrderByDescending 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[C1] AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
ORDER BY [Project1].[UnitPrice] DESC

ThenBy
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// ThenBy 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.OrderBy(p => p.UnitPrice).ThenBy(p => p.ProductID);
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// ThenBy 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products orderby p.UnitPrice ascending, p.ProductID ascending select p;
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--ThenBy 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[C1] AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
ORDER BY [Project1].[UnitPrice] ASC[Project1].[ProductID] ASC

ThenByDescending
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// ThenByDescending 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.OrderBy(p => p.UnitPrice).ThenByDescending(p => p.ProductID);
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// ThenByDescending 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products orderby p.UnitPrice ascending, p.ProductID descending select p;
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--ThenByDescending 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[C1] AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
ORDER BY [Project1].[UnitPrice] ASC[Project1].[ProductID] DESC

GroupBy
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// GroupBy 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.GroupBy(p => p.Suppliers.SupplierID).Select(g => new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ Group = g.Key, Member = g });
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
foreach (var g in p1)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
// g.Group - 供货商ID,以此分组
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
// g.Member - 某供货商下的所有产品
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
        foreach (var m in g.Member)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)            
// code
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
        }
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    }

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// GroupBy 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products group p by p.Suppliers.SupplierID into g select new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ Group = g.Key, Member = g };
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
foreach (var g in p2)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
// g.Group - 供货商ID,以此分组
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
// g.Member - 某供货商下的所有产品
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
        foreach (var m in g.Member)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)            
// code
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
        }
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    }

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--GroupBy 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[C1] AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[C2] AS [C2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[C4] AS [C3]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[C3] AS [C4]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project2].[SupplierID1] AS [SupplierID1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Distinct1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
1 AS [C2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
CASE WHEN ([Extent2].[Discontinued] IS NULLTHEN CAST(NULL AS intELSE 1 END AS [C3]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[CategoryID] AS [CategoryID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[Discontinued] AS [Discontinued]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[ProductID] AS [ProductID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[QuantityPerUnit] AS [QuantityPerUnit]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[ReorderLevel] AS [ReorderLevel]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[SupplierID] AS [SupplierID1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[UnitPrice] AS [UnitPrice]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[UnitsInStock] AS [UnitsInStock]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent2].[UnitsOnOrder] AS [UnitsOnOrder]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
CASE WHEN ([Extent2].[Discontinued] IS NULLTHEN CAST(NULL AS intELSE 1 END AS [C4]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM   (SELECT DISTINCT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
[Extent1].[SupplierID] AS [SupplierID]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
FROM [dbo].[Products] AS [Extent1] ) AS [Distinct1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
LEFT OUTER JOIN [dbo].[Products] AS [Extent2] ON ([Extent2].[SupplierID] = [Distinct1].[SupplierID]OR (([Extent2].[SupplierID] IS NULLAND ([Distinct1].[SupplierID] IS NULL))
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
ORDER BY [Project2].[SupplierID] ASC[Project2].[C4] ASC

Join
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Join 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Products.Join(
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        ctx.Categories,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        p 
=> p.Categories.CategoryID,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        c 
=> c.CategoryID,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        (p, c) 
=> new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ c.CategoryName, p.ProductName });
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// Join 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from p in ctx.Products
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)             join c 
in ctx.Categories
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)             on p.Categories.CategoryID equals c.CategoryID
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)             select 
new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ c.CategoryName, p.ProductName };
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--Join 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent2].[CategoryName] AS [CategoryName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Extent1].[ProductName] AS [ProductName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM  [dbo].[Products] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
INNER JOIN [dbo].[Categories] AS [Extent2] ON ([Extent1].[CategoryID] = [Extent2].[CategoryID]OR (([Extent1].[CategoryID] IS NULLAND ([Extent2].[CategoryID] IS NULL))

GroupJoin
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)using (var ctx = new NorthwindEntities())
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// GroupJoin 对应的 Linq 方法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p1 = ctx.Categories.GroupJoin(
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        ctx.Products,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        c 
=> c.CategoryID,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        p 
=> p.Categories.CategoryID,
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        (p, g) 
=> new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ p.CategoryName, ProductCount = g.Count() });
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p1.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
// GroupJoin 对应的查询语法
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
    var p2 = from c in ctx.Categories
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)             join p 
in ctx.Products
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)             on c.CategoryID equals p.Categories.CategoryID into g 
// g - IEnumerable<Products>
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
             select new Entity Framework(实体框架)之详解 Linq To Entities 之二(转载){ CategoryName = c.CategoryName, ProductCount = g.Count() };
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    p2.ToList();
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)}
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)--GroupJoin 对应的 sql 语句
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)

Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
1 AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[CategoryName] AS [CategoryName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
[Project1].[C1] AS [C2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)
FROM ( SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
[Extent1].[CategoryName] AS [CategoryName]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    (
SELECT 
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
COUNT(cast(1 as bit)) AS [A1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
FROM [dbo].[Products] AS [Extent2]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)        
WHERE ([Extent1].[CategoryID] = [Extent2].[CategoryID]OR (([Extent1].[CategoryID] IS NULLAND ([Extent2].[CategoryID] IS NULL))) AS [C1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载)    
FROM [dbo].[Categories] AS [Extent1]
Entity Framework(实体框架)之详解 Linq To Entities 之二(转载))  
AS [Project1]

相关文章:

  • 2022-01-02
  • 2022-02-19
  • 2021-11-13
  • 2021-06-07
  • 2021-10-21
  • 2021-10-28
猜你喜欢
  • 2022-01-13
  • 2022-02-01
  • 2021-09-30
  • 2021-08-06
  • 2021-11-23
相关资源
相似解决方案