简单的Linq查询语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单的Linq查询语句
下⾯我来我⼤家介绍⼏种简单的查询⽅式。
1、简单语法
下⾯是⼀段LINQ查询语句
============================================================================================= List<Select> list = (from tb in Model.SYS
select new Select
{
id = tb.ID,
text =
}).ToList();
=============================================================================================
这个LINQ语句的第⼀个关键字是from,from后⾯加的是范围变量,范围变量后加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 =
};
=============================================================================================
var是匿名类型关键字,它⽤于定义数据类型的⼀种间接的⽅式 var关键字会动去判断后⾯的变量具体的数据类型。
这个Linq语句的与上⾯⼀样,第⼀个关键字是from,from后⾯加的是变量,变量后加in,后加上事先实例化的模型,然后点出数据的来源。
第⼆句也差不多,先是关键字select查询,后⾯加上new的关键字,但这⾥不需要再加上事先封装好的要查询数据的数据类型类。
同样的,在select查询⾥⾯为字段赋值,但这⾥并没有指定数据类型,所以也没有指定字段。
最后,这⾥因为List没有指定数据类型,所以不需要ToList()进⾏转换。
3、Lambda表达式
Lambda表达式相对于上⾯两种写法更加简洁。
============================================================================================= var list = Model.SYS
.Select(m => new {
id = m.ID,
text =
});
=============================================================================================
先⽤var声明⼀个变量,然后直接调⽤实例化的模型,点出数据的来源;紧接着后⾯直接调⽤⼀个查询⽅
法.Select()。
括号⾥⾯为表达式,m是参数,这个参数名称没有指定为m,可以⾃⾏定义;=>是Lambda表达式的⼀个运算符;同样加上new的关键字;花括号⾥⾯为具体的⼀个⽅法体,填写需要查询的字段。
上⾯⼏种⽅法,它们最后的效果都是同样的。
来源:/content-4-158701.html。