我正在尝试根据RollNumber
的最大值获取一行(对象),这是一个很长的Datatype field
。我希望它返回一个空对象,以防没有这样的对象,所以我使用了SingleorDefault
。但似乎我的查询完全错误(这里正在处理linq)。
以下是查询:
SchoolContextExpress db = new SchoolContextExpress();
Profile profile = db.Profiles.Where(p => p.RollNumber == db.Profiles.Max(r=>r.RollNumber)).SingleOrDefault();
谢谢你看这个。
最佳答案
使用空的RollNumber…
Profile profile = db.Profiles.Where(p => p.RollNumber !=0 && p.RollNumber == db.Profiles.Max(r=>r.RollNumber)).SingleOrDefault();
或者你可能想考虑…
Profile profile = db.Profiles.Where(p => p.RollNumber == db.Profiles.Where(p1 => p1.RollNumber != 0).Max(r=>r.RollNumber)).SingleOrDefault();