在 Microsoft 的 MVC 教程 NerdDinners 的这段代码中:
公共类 DinnerRepository {
private NerdDinnerDataContext db = new NerdDinnerDataContext(); // // Query Methods public IQueryable<Dinner> FindAllDinners() { return db.Dinners; } public IQueryable<Dinner> FindUpcomingDinners() { return from dinner in db.Dinners where dinner.EventDate > DateTime.Now orderby dinner.EventDate select dinner; } public Dinner GetDinner(int id) { return db.Dinners.SingleOrDefault(d => d.DinnerID == id); } // // Insert/Delete Methods public void Add(Dinner dinner) { db.Dinners.InsertOnSubmit(dinner); } public void Delete(Dinner dinner) { db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs); db.Dinners.DeleteOnSubmit(dinner); } // // Persistence public void Save() { db.SubmitChanges(); }
}
有什么作用:
public Dinner GetDinner(int id) { return db.Dinners.SingleOrDefault(d => d.DinnerID == id); }
“d”是什么意思?这段代码是如何工作的?我知道它会带回与函数参数中的 id 匹配的晚餐。我不明白“d 去...”的意思。我知道这是一个 lambda,但我真的不明白。“d”是干什么用的?它有什么作用?
这是否可以在没有 lambda 的情况下编写(如何)?