如何在linq to entity语句中处理Max值的null?
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => o.LevelID);
答案 0 :(得分:1)
当你说数数时,我不太清楚你的意思,因为你并不是指代码中的任何数字。如果您想知道如何处理null o.LevelID
,您可以执行以下操作:
Max(o => o.LevelID ?? -1);
??
是.NET中的合并运算符
更新
试试这个:
db.Characters.Where(o => o.UserId == UserID).Max(o => o == null ? 0 : o.LevelID);
答案 1 :(得分:0)
如果o.LevelID为null,您可以执行以下操作,将'IFNULLDEFAULTVALUE'替换为您想要的值:
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => (o.LevelID != null ? o.LevelID : IFNULLDEFAULTVALUE);