LINQ定义:
语言集成查询(Language Integrated Query )是一组用于C# 和 visual basic 语言的扩展语言。
百度百科LINQ解释 LIQN查询语法
两篇文章大同小异,对宏观的了解LIQN非常有益。
LINQ解决的问题:
我们现在大部分在使用.NET开发应用程序,那么十有八九就需要在特定的时候把对象存放在数据库中,或者查询数据库并将结果转换为对象。而问题在于大多数时候在再出关系型数据库时,编程语言和数据库之间存在着一道鸿沟。我们需要在每一个程序中都不厌其烦的编写数据访问和数据持久化代码。
对于LIQN,微软公司一开始只是希望其能够给出一个对象/关系映射的解决方案,并简化对象和数据源之间的交互过程。不过LIQN最终却演化成了一个通用的、语言集成的查询工具。使用这个工具,可以访问来之内存对象(LIQN to Object)、数据库(LIQN to SQL)、XML文档(LIQN to XML)、文件系统等多种数据源中的数据。
LIQN使用入门:
LIQN的关键字: from 、select、in、where、group by、orderby…..
from 临时变量 in集合对象或数据库对象
where 条件表达式
[order by条件]
select 临时变量中被查询的值
[group by 条件]
int[] arr = new int[] { 8, 3, 2, 10, 30, 29,3, 2, 1, 7 };
var m = from n in arr where n <10 orderby n select n;
foreach (var n in m)
{
Console.WriteLine(n);
}
Console.ReadLine();
集合对象或数据库对象.LIQN方法名(lambda表达式)
List<int> arr = new List<int>() {1, 2, 3, 4, 5, 6, 7 };
var result = arr.Where(a => {return a > 3; }).Sum();
Console.WriteLine(result);
Console.ReadKey();
等价于
List<int> arr = new List<int>() {1, 2, 3, 4, 5, 6, 7 };
var result= (from v in arr where v> 3 select v).Sum();
Console.WriteLine(result);
Linq to SQL 语法查询(子查询 & in操作& join )
sql、linq、lambda查询语句的区别
SQL、LINQ、Lambda三种用法(转)
总结:关于LIQN的学习才只是知道、了解,关于LIQN的一些高级应用 和 LIQN 、Lambda的关系 、还有SQL 和LIQN 的相互转换还需要深入的学习,请期待后续、、、