Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 21850|Răspunde: 1

[Sursă] Cast la valoarea tipului "System.Decimal" a eșuat...

[Copiază linkul]
Postat pe 11.03.2019 10:02:24 | | | |
Distribuirea către tipul de valoare "System.Decimal" eșuează deoarece valoarea materializată este nulă. Parametrul generic sau interogarea tipului rezultat trebuie să fie de un tip care poate fi nul.
1. Când se folosește EF pentru a accesa sumarea bazelor de date, astfel de excepții sunt adesea întâlnite

O excepție negestionată de tip "System.InvalidOperationException" apare în EntityFramework.dll



Cod de excepție 1:



Cod excepție 2:

2. Motive:

Motivul aruncării: Datele filtrate din baza de date conform condițiilor sunt goale, iar suma creează o excepție.

Soluția 1:După ce câmpurile de filtru sau rândurile de date sunt aduse în memorie pe baza criteriilor, acestea sunt însumate


Soluția 2:Acest lucru se poate face dacă rezultatele sumei trebuie specificate ca fiind nule atunci când rândurile de date ale filtrului nu există pe baza condiției



Soluția 3 (recomandată):Folosește DefaultIfEmpty()








Precedent:Gândirea bayesiană: Metoda de învățare Python pentru modelare statistică, versiunea PDF în chineză
Următor:Excepția este rezolvată prin injectarea instanței RedisTemplate în SpringBoot
Postat pe 11.03.2019 11:38:22 |
Folosesc opțiunea trei
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com