LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。
从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#中)。使用这些操作符可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型。
经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像 类(classes)、对象(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据( accessing and integrating information )的复杂度的问题。其中两个最主要访问的数据源与数据库(database)和XML(标准通用标记语言下的一个应用)相关。
LINQ 提供了一条更常规的途径即给.Net Framework添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。
IEnumerable接口是LINQ查询的核心
LINQ的操作三步骤 1获取数据源 2 创建查询 3 执行查询
LINQ基本关键字
下面我们来试一下
1 查询1,2,3,4,5,6,7,8,9中的所有的奇数显示出来
List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//LINQ查询语法
var lists = from count in list where (count % 2) != 0 select count; // 语法 select * from list where count%2!=0 这是 转换成为Sql查询 不知道准不准,思路就是这样
ViewBag.count = lists;
好了 这就是 MVC的LINQ查询语法 (还有个方法语法,注意了!!!)