首页 新闻 搜索 专区 学院

asp.net mvc

0
悬赏园豆:15 [已解决问题] 解决于 2010-12-06 10:46
<pre><span style="color: #000000;"> Themes ThemeEdit </span><span style="color: #000000;">=</span><span style="color: #000000;"> ThemeContext.Themes.First(m </span><span style="color: #000000;">=&gt;</span><span style="color: #000000;"> m.Theme_ID </span><span style="color: #000000;">==</span><span style="color: #000000;"> Theme_ID);<br /></span><pre><span style="color: #000000;">m </span><span style="color: #000000;">=&gt;</span><span style="color: #000000;"> m.Theme_ID </span><span style="color: #000000;">==</span><span style="color: #000000;"> Theme_ID</span></pre> <pre>这个是什么意思?清解析一下谢谢了!</pre> </pre>
Specialaspnet的主页 Specialaspnet | 初学一级 | 园豆:70
提问于:2010-11-30 22:09
< >
分享
最佳答案
0

这个是linq to sql里面的知识,其实和mvc没什么关系。m => m.Theme_ID == Theme_ID这个其实就是一个查询条件。

Themes ThemeEdit = ThemeContext.Themes.First(m => m.Theme_ID == Theme_ID);
你可以这样子理解。m是一个Themes类的集合。我们的查询条件就是查找m这个集合中Theme_ID等于Theme_ID的数据集。后面的Theme_ID是一个变量,First是代表取第一条的意思。如果转成SQL相当于“select top 1 *  from Themes where Theme_ID=” + Theme_ID.

收获园豆:15
雨晨子龙 | 菜鸟二级 |园豆:260 | 2010-12-02 09:22
其他回答(2)
0

相当于一个函数,这个函数的参数是一个叫m的,然后返回的是m.Theme_ID == Theme_ID

bool Func(Theme m) {

    return m.Theme_ID = Theme_ID;

}

Gray Zhang | 园豆:17610 (专家六级) | 2010-11-30 22:23
0

m => m.Theme_ID == Theme_ID 是一句 lambda 表达式。

ThemeContext.Themes.First(m => m.Theme_ID == Theme_ID) 意思是从 ThemeContext.Themes 中获取 Theme_ID 为 Theme_ID 的 Theme。

如果 ThemeContext.Themes 不存在这样的 Theme,将会抛出异常(如果想不抛异常而返回空,可用FirstOrDefault 代替 First)。

鹤冲天 | 园豆:2379 (老鸟四级) | 2010-12-01 21:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册