この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 21850|答える: 1

[出典] 値型「System.Decimal」へのキャストは失敗しました...

[リンクをコピー]
掲載地 2019/03/11 10:02:24 | | | |
「System.Decimal」の価値型へのキャストは、マテリアル化された値がnullであるため失敗します。 結果型の一般的なパラメータまたはクエリは、nullになりうる型でなければなりません。
1. EFを使ってデータベースの総和にアクセスする際には、このような例外がよく発生します

「System.InvalidOperationException」型の未処理例外が EntityFramework.dll



例外コード1:



例外コード2:

2. 理由:

スローの理由:条件に従ってデータベースからフィルタリングされたデータが空で、その和が例外を投げる。

解決策1:フィルターフィールドやデータ行が基準に基づいてメモリに取り込まれた後、それらを合計します


解決策2:これは、フィルターデータ行が存在しない場合に、条件に基づいて合計結果をnullとして指定する必要がある場合に可能です。



解決策3(推奨):DefaultIfEmpty() を使ってください








先の:ベイズ的思考:統計モデリングのためのPython学習法、PDF中国語版
次に:例外はSpringBootにRedisTemplateインスタンスを注入することで解決されます
掲載地 2019/03/11 11:38:22 |
私は3番目の選択肢を使っています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com