LINQ查询的三种基本写法

更新时间:2019-04-09 09:44:25 点击次数:1410次
首先,作为一个还在学习mvc开发模式的新手来说,学会LINQ查询是入门基础,LINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。以我目前所了解到的,LINQ语句一般都是写在MVC里的Controller(控制器·)中的,当然我也希望自己为未来能够学到更多的用法。
接下来我来简单说明最简便用的也很多的三种单表查询方式吧,理解了LINQ基础语法,那其它的语法也会变得容易理解很多。
第一种查询,开头直接一个List<>括号里放你定义好的类,再一个自定义变量接收,然后就是你要查询的数据然后 select new 出你要的字段。具体示例如下:(这里我是直接拿老师所教的代码的,没关系,看懂就好)

//List listAcademe = (from tb in myModels.SYS_Academe
// select new Select
// {
// id = tb.AcademeID,
// text = tb.AcademeName
// }).ToList();

new后面为什么要加多一个类名呢,因为加多这个类名的话可以防止你在写具体字段的时候打错字,因为字段给类里面定义好的对不上的话,就会有一个报错提示,而且前面用了List的话后面就一定要用一个ToList来接收返回的数据。
接下来就说这个第二种,匿名查询,匿名查询的话看起来会比第一种要简便一点吧,但是跟第一种区别不大,区别的是这两个写法的一个概念吧,匿名查询的关键字是var,我们其实都知道,var在JS中呢通常用来声明一个变量,在LINQ查询这里也是差不多的意思吧,接下来我也是直接放一段示例代码吧

//var listAcademe = from tbAcademe in myModels.SYS_Academe
// select new
// {
// id = tbAcademe.AcademeID,
// text = tbAcademe.AcademeName
// };
第三种呢,就是Lambda表达式,C#中的Lambda表达式使用Lambda运算符“=>”,该运算符读为“goes to”,写法也是非常的简便,直接一行代码就完事,具体如下:
//var listAcademe = myModels.SYS_Academe.Select(a => new { id = a.AcademeID, text = a.AcademeName });
比前前面两种,Lambda写法看起来比起前面的两种要简洁很多,Lambda呢是一个大写字母开头的Select衔接一个(),然后里面再写出具体的字段。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!