linq简介

定义
  语言集成查询 (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等),才会真正去执行计算任务。
 

转载于:https://www.cnblogs.com/shengyu-kmust/p/linq.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值