我正在进入 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);
    }

干杯

戴夫

最佳答案

不幸的是,没有您可以使用的 SingleOrDefault 的声明性版本。相反,将声明性 LINQ 语句括在括号中,如下所示:

var result = (
              from d in db.Dinners
              where d.DinnerID == id
              select d
             ).SingleOrDefault();

关于c# - Linq - SingleOrDefault 和 NerdDinner,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3098007/

10-11 07:27