linq查询语法中的 from 和 in 不是冲突了么?都是一样的意思吧 .

[复制链接]
查看11 | 回复2 | 2011-3-25 02:41:59 | 显示全部楼层 |阅读模式
from c in list wherec.ParentID == ROOTID orderby c.Priority select c

比如这个 from c和 select c不是一个意思么?
或者请给我挨个字 讲解下?
回复

使用道具 举报

千问 | 2011-3-25 02:41:59 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">你说的from c和select c其实是一个特列 你要查询的数据正好是list 表中的一个完整的对象 比如C 有两个字段AB 可以有
from c in list wherec.ParentID == ROOTID orderby c.Priority select new
{
A = c.A
}
这样就类似于数据库sql 的部分查询.

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-2545189\">你能说的清楚点么?
select new什么意思?
还有中括号中的 A=c.A
回复

使用道具 举报

千问 | 2011-3-25 02:41:59 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2596994\">假设C中属性有A,B,ParentID,Priority
那么 你的linq 实现的sql 为:select *formlist where ParentID == ROOTID orderby Priority

而我上面的例子实现的是 : selectA from list whereParentID == ROOTID orderby Priority

(上面的sql 只是个大概意思实际上执行的sql不是这样的)
from c in list 应该理解为: 从list中的每一条C中进行筛选
而不是你认为的从C中筛选 .因此和后面的select 是完全不同的 select 出来的 是你要返回的对象
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行