如何处理linq-to-entities语句中Max值的null?
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => o.LevelID);
我不太确定你说count是什么意思,因为你在代码中的任何地方都没有提到count。如果你正在学习如何处理空o.LevelID
,你可以这样做:
Max(o => o.LevelID ?? -1);
??
是.NET 中的合并运算符
更新
试试这个:
db.Characters.Where(o => o.UserId == UserID).Max(o => o == null ? 0 : o.LevelID);
如果o.LevelID为null,您可以执行以下操作,将"IFNULLDEFAULTVALUE"替换为您希望的值:
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => (o.LevelID != null ? o.LevelID : IFNULLDEFAULTVALUE);