Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21850|Vastaus: 1

[Lähde] Heitto arvotyyppiin "System.Decimal" epäonnistui...

[Kopioi linkki]
Julkaistu 11.3.2019 10.02.24 | | | |
Arvotyypin "System.Decimal" heitto epäonnistuu, koska materialisoitu arvo on nolla. Tulostyypin yleisen parametrin tai kyselyn on oltava tyyppiä, joka voi olla nolla.
1. Kun EF:ää käytetään tietokannan summaamiseen, tällaisia poikkeuksia esiintyy usein

Käsittelemätön poikkeus "System.InvalidOperationException" esiintyy EntityFramework.dll



Poikkeuskoodi 1:



Poikkeuskoodi 2:

2. Syyt:

Heiton syy: Tietokannasta ehtojen mukaan suodatettu data on tyhjä, ja summa heittää poikkeuksen.

Ratkaisu 1:Kun suodatinkentät tai datarivit on otettu muistiin kriteerien perusteella, ne summataan


Ratkaisu 2:Tämä voidaan tehdä, jos summatulokset täytyy määritellä nulliksi, vaikka suodatindatarivejä ei ole olemassa ehdon perusteella



Ratkaisu 3 (suositeltu):Käytä DefaultIfEmpty()








Edellinen:Bayesilainen ajattelu: Python-oppimismenetelmä tilastolliseen mallintamiseen, PDF-kiinalainen versio
Seuraava:Poikkeus korjataan lisäämällä RedisTemplate-instanssi SpringBootiin
Julkaistu 11.3.2019 11.38.22 |
Käytän vaihtoehtoa kolme
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com