代码之家  ›  专栏  ›  技术社区  ›  Dave Mateer

Linq-SingleOrDefault和NerdDinner

  •  4
  • Dave Mateer  · 技术社区  · 15 年前

    我正在努力理解语法,并希望以更详细的方式写出第一行中发生的事情,这是可行的。

    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);
        }
    

    1 回复  |  直到 15 年前
        1
  •  3
  •   roufamatic RichardJohnn    15 年前

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

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