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