LINQ(语言集合查询)疑问和理解

最近的项目一直和linq打交道,用是好用,就是很多地方的概念很模糊,不明确

(1)

var q = from p in _dbcontext._tableName

            select p;   //选择_tableName表中的所有字段

其中q是IQueryable类型,在这个表达式中“ from p in _dbcontext._tableName”是lambda表达式?将其转换为sql语句?IQueryable是sql选择出来的结果,这个时候还没有访问数据库

 

如果用q.toList()等方法转为具体的对象的时候,就会查询数据库了,这个时候才可能出现异常等情况。不知道lambda表达式是不是在这个时候转换为sql语句的?

(2)

var q = _dbcontext._tableName.SingleOrDefault(p=>p.Id = id);

这个时候虽然q类型前面仍然用var,但是其实q是一个tableName对象。“p=>p.Id = id”这个表达式其实传递了IQueryable对象给SingleOrDefault函数

 

哎,限制太多,没心思写了,乱糟糟的~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值