0

これが私のコードです:

var finiGames = myRepos.Games
                       .Where(x => x.StatusGameId == (int)StatusGameEnum.Finish 
                              && x.EndDateTime > DateTime.Today)
                       .DefaultIfEmpty();
//error line
decimal? sum = finiGames.Sum(x => x.WinCost);

私が得ているエラー:

Materializuemoe値がnullであるため、キャスト値タイプ「Decimal」の変換中にエラーが発生しました。型パラメーターの全体的な結果、または値nullを許可する型を使用する要求。

を取得する適切な方法は何decimal?ですか?

4

3 に答える 3

4

WinCostnullable decimal内部にキャストする必要がありますSum

decimal? sum = finiGames.Sum(x => (decimal?)x.WinCost);
于 2012-05-14T17:33:27.507 に答える
0
decimal sum = ((decimal?)finiGames.Sum(x => x.WinCost)) ?? 0;
于 2012-05-14T17:20:48.607 に答える
0

に を追加してみてToList()くださいfiniGames。パフォーマンスが低下する可能性がありますが、EF はおそらくデータ (SQL) レイヤーでの変換を処理できません。

于 2012-05-14T17:33:46.673 に答える