如何将linq中的null处理为实体



如何处理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);

最新更新