LINQ to Entities 基于方法的查询语法

1.投影: Select 与 SelectMany

 SelectMany操作符提供了将多个from子句组合起来的功能,相当于数据库中的多表连接查询,它将每个对象的结果合并成单个序列。

与 select  不同 的是selectmany返回的是一个序列.

selectmany与select 不同的是它会把返回序列集合中的各个元素连接起来形成一个新的序列

2.筛选: Where,Where…Contains

3.排序: OrderBy,OrderByDescending,ThenBy,ThenByDescending

4.聚合运算符: Average,Count,LongCount,Max,Min,Sum

5.分区: Skip,Take

6.转换: ToArray,ToDictionary,ToList

ToArray: 将序列转换为数组

ToDictionary: 将序列和相关的键表达式转换为字典

7.联接运算符: GroupJoin,Join

Join: 类似于T-SQL中的inner join

GroupJoin: 组联接等效于左外部联接,它返回第一个(左侧)数据源的每个元素(即使其他数据源中没有关联元素)

GroupJoin 操作符常应用于返回“主键对象-外键对象集合”形式的查询,例如“产品类别-此类别下的所有产品

var q =
                db.Categories
                .GroupJoin
                (
                   db.Products,
                   c => c.CategoryID,
                   p => p.CategoryID,
                   (c, p) => new
                   {
                       c.CategoryName,
                       Products = p
                   }
                )
                .ToList();

8.元素运算符: First

First: 查找第一条记录

9.分组: GroupBy

10.导航关系:

 

posted @ 2018-11-13 15:47  jasonlai2016  阅读(347)  评论(0)    收藏  举报