我正在尝试为 用户 选择 MAX LevelId 值,然后将该值分配给变量。

在普通 SQL 中,等效项是:

SELECT        MAX(LevelID) AS MaxLevel
FROM            Character
WHERE        (UserId = 'John')


//Check User existing Characters max level per user

int UserLevelID = 0;
var userQuery = (from o in db.Characters
where o.UserId == UserID
      select o);

UserLevelID = userQuery.Max(LevelID);

问题就在这里。我不知道如何提取 levelID 的最大值

最佳答案

您可以在一个查询中完成所有操作:

var userLevelId = db.Characters.Where(o => o.UserID == UserID)
                               .Max(o => o.LevelID);

我已经将它从查询表达式中改掉了,因为这引入了更多的问题 - 在实际有助于可读性的地方使用查询表达式,并且扩展方法调用更易读的简单解决方案。

关于asp.net-mvc-3 - 在 linq to entity 中选择最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11365917/

10-12 13:10