如何根据字段Entity Framework 4.1的最大值选择行(对象)

bla*_*sei 7 c# asp.net linq-to-entities entity-framework

我试图得到一个行(对象)基于其最大RollNumber长度Datatype field.我希望它返回一个null对象,以防万一没有我使用过SingleorDefault.但是看起来我的查询都是错的(这里的linq正在进行中).这是查询:

SchoolContextExpress db = new SchoolContextExpress();
        Profile profile = db.Profiles.Where(p => p.RollNumber == db.Profiles.Max(r=>r.RollNumber)).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

谢谢你读这个.

Car*_*man 10

使用空RollNumber ...

Profile profile = db.Profiles.Where(p => p.RollNumber !=0 &&  p.RollNumber == db.Profiles.Max(r=>r.RollNumber)).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

或者您可能想要考虑......

Profile profile = db.Profiles.Where(p => p.RollNumber == db.Profiles.Where(p1 => p1.RollNumber != 0).Max(r=>r.RollNumber)).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)