您如何处理 linq to entity 语句中 Max 值的空值?
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => o.LevelID);
您如何处理 linq to entity 语句中 Max 值的空值?
int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => o.LevelID);
我不太清楚你说计数是什么意思,因为你不是指该代码中的任何地方的计数。如果您想知道如何处理 null 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);