码迷,mamicode.com
首页 > 其他好文 > 详细

linq简介

时间:2018-01-30 17:05:46      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:blog   key   lin   each   简单   count   queryable   多个   har   

定义
  语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称,可总结为linq=c#+sql。
优势
可用类似于数据库查询语言的方式去操作c#的对象。在linq出来之前,对象的很多操作都要自己去写方法和逻辑(如排序,过滤,分组等),而用linq往往只要一句话就可以完成之前几十行代码的功能!
写法
  分查询语法和方法语法
  查询语法:var query=from user in users where user.Name==‘周晶‘ select user;
  方法语句:var query=users.where(user=>user.Name==‘周晶‘).select(user=>user)
开发和学习中的陷阱
  linq分linq to objects,linq to xml,linq to ado.net。三都的底层技术原理是不一样的,所以同样的写法可能在linq to objects会正常但在linq to ado.net时就不正常。
几点建议
  复杂的查询用查询语法,简单的查询用方法语法。
什么样的数据源能用linq技术?
  只要是实现 IEnumerable<T> 或 IQueryable<T> 接口的数据源都可以用。
 
查询表达式的语法
  查询表达式必须以 from 子句开头,且必须以 select 或 group 子句结尾。 在第一个 from 子句与最后一个 select 或 group 子句之间,可以包含以下这些可选子句中的一个或多个:whereorderbyjoinlet,甚至是其他 from 子句。 还可以使用 into 关键字,使 join 或 group 子句的结果可以充当相同查询表达式中的其他查询子句的源。
  
其它
  查询表达式可被编译成表达式树或委托,具体视应用查询的类型而定。IEnumerable<T> 查询编译为委托。 IQueryable 和 IQueryable<T> 查询编译为表达式树。
创建查询表达式时,并不会有什么计算的开销,只有在foreach或是其它的计算结果的语句执行时(如count,max等),才会真正去执行计算任务。
 

linq简介

标签:blog   key   lin   each   简单   count   queryable   多个   har   

原文地址:https://www.cnblogs.com/shengyu-kmust/p/linq.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!