Линк сумма и ноль - PullRequest
       4

Линк сумма и ноль

8 голосов
/ 29 декабря 2011

У меня есть запрос:

var qq = (from c in db.tblArcadeGames
        where
            c.IsDeleted == false &&
            c.ParentGameID == 0 &&
            c.Approved == true
        let aggPlays = c.Plays + db.tblArcadeGames.Where(v => v.ParentGameID == c.ID).Sum(v => (int?)v.Plays)
        orderby aggPlays descending
        select new { c, aggPlays })
        .Skip(Skip)
        .Take(Fetch);

foreach (var g in qq)
{
    HttpContext.Current.Response.Write("{" + g.aggPlays + "}\n");
}

Когда я печатаю aggPlays в цикле выше, они выглядят как:

{21}
{}
{}
{}

Кажется, проблема в том, что Sum() возвращает null, если не существует записей. Я не уверен, как обойти это так, чтобы c.Plays + null не равнялся null, а просто c.Plays.

Ответы [ 2 ]

17 голосов
/ 29 декабря 2011

Вы можете исправить это, не возвращая int?, а преобразовав непосредственно в int:

.Sum(v => v.Plays ?? 0)
1 голос
/ 18 января 2014
    int response =
    (from p in data.tbHoraires
     where p.eid == eid && p.annee == annee && p.obligatoire == true
     select (int?)p.nbminute ?? 0).Sum();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...