我正在进入LinqToSql并使用NerdDinner教程。
我正在尝试理解语法,并希望以更详细的方式写出第一行中正在发生的事情,这有效。
问题:如何编写第一个查询,如注释掉的代码(不起作用)。
public Dinner GetDinner(int id){
var result = db.Dinners.SingleOrDefault(d => d.DinnerID == id);
//var result = from d in db.Dinners.SingleOrDefault
// where d.DinnerID == id
// select d;
return (result);
}
干杯
戴夫
答案 0 :(得分:3)
不幸的是,您无法使用SingleOrDefault
的声明版本。相反,将声明性LINQ语句包装在括号中,如下所示:
var result = (
from d in db.Dinners
where d.DinnerID == id
select d
).SingleOrDefault();