简单的Linq查询语句

简单的Linq查询语句

下面我来我大家介绍几种简单的查询方式。

1、简单语法

下面是一段LINQ查询语句

=============================================================================================

List<Select> list = (from tb in Model.SYS

                                 select new Select

                                  {

                                       id = tb.ID,

                                       text = tb.Name

                               }).ToList();

=============================================================================================

这个LINQ语句的第一个关键字是fromfrom后面加的是范围变量,范围变量后加in,后加上事先实例化的模型,然后点出数据的来源。

from后面的范围变量类似于for循环中的i变量,这里不需要明确范围变量指定具体的数据类型,因为编译器在执行这段代码时,可以根据里面的数据推断出范围变量的类型。

第二句先是关键字select查询,后面加上new的关键字,后面再加上事先封装好的要查询数据的数据类型类,这个数据类型类必须与前面List列表的数据类型类相同。

在select查询里面为事先封装好的数据类型类里面的字段赋上相应的值,

List是列表,LINQ语句要与List相等,所以在查询语句的最后面要加上一个ToList()将LINQ的隐式转换成另外一种类型。

 

2、匿名类型

匿名类型,在查询上不用去声明指定具体的数据类型,可以在执行代码时由编译器自动地去推断变量的数据类型。

=============================================================================================

var list = from tb in Model.SYS

                         select new Select

                         {

                               id = tb.ID,

                               text = tb.Name

                     };

=============================================================================================

var是匿名类型关键字,它用于定义数据类型的一种间接的方式  var关键字会动去判断后面的变量具体的数据类型。

这个Linq语句的与上面一样,第一个关键字是fromfrom后面加的是变量,变量后加in,后加上事先实例化的模型,然后点出数据的来源。

第二句也差不多,先是关键字select查询,后面加上new的关键字,但这里不需要再加上事先封装好的要查询数据的数据类型类。

同样的,在select查询里面为字段赋值,但这里并没有指定数据类型,所以也没有指定字段。

最后,这里因为List没有指定数据类型,所以不需要ToList()进行转换。

 

3、Lambda表达式

Lambda表达式相对于上面两种写法更加简洁。

=============================================================================================

var list = Model.SYS

.Select(m => new {

id = m.ID,

text = m.Name

});

=============================================================================================

先用var声明一个变量,然后直接调用实例化的模型,点出数据的来源;紧接着后面直接调用一个查询方法.Select()。

括号里面为表达式,m是参数,这个参数名称没有指定为m,可以自行定义;=>是Lambda表达式的一个运算符;同样加上new的关键字;花括号里面为具体的一个方法体,填写需要查询的字段。

 

上面几种方法,它们最后的效果都是同样的。

猜你喜欢

转载自blog.csdn.net/weixin_44573938/article/details/89082968
今日推荐