0

您如何处理 linq to entity 语句中 Max 值的空值?

int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => o.LevelID);
4

2 回答 2

1

我不太清楚你说计数是什么意思,因为你不是指该代码中的任何地方的计数。如果您想知道如何处理 null o.LevelID,您可以执行以下操作:

Max(o => o.LevelID ?? -1);

??是 .NET 中的合并运算符

更新

试试这个:

db.Characters.Where(o => o.UserId == UserID).Max(o => o == null ? 0 : o.LevelID);
于 2012-07-06T23:41:30.960 回答
0

您可以执行以下操作,如果 o.LevelID 为 null,则将 'IFNULLDEFAULTVALUE' 替换为您希望的值:

int UserLevelID = db.Characters.Where(o => o.UserId == UserID).Max(o => (o.LevelID != null ? o.LevelID : IFNULLDEFAULTVALUE);
于 2012-07-06T23:57:19.217 回答