Если я это сделаю:
int updateGamePlays = db.tblArcadeGames.Where(c => c.ParentGameID == GameID).Sum(c => c.Plays);
Если в этом запросе не возвращаются записи, он выдает:
System.InvalidOperationException: Нулевое значение не может быть назначено члену сТип System.Int32, который является необнуляемым типом значения.
Единственный способ вернуть значение 0 - выполнить:
int updateGamePlays = db.tblArcadeGames.Where(c => c.ParentGameID == GameID).Sum(c => (int?)c.Plays) ?? 0;
В базе данных c.Plays
является ненулевым int.
В теории множеств сумма пустого множества должна равняться 0
( ref ).Почему в Linq-to-SQL они решили вернуть null
?