Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14748|Svare: 0

[Løst] Verifisering feiler for én eller flere enheter. For mer informasjon, se egenskapen EntityValidationErrors.

[Kopier lenke]
Publisert på 08.10.2015 20:47:51 | | |
Siden det er et gjentrykk av artikkelen. Kilden er angitt her, vennligst tilgi meg hvis det finnes artikler som tidligere har blitt overført uten indikasjon, fordi noen av dem ikke lenger kan finne kilden, eller av andre grunner.

Hvis du blir fornærmet, vennligst kontakt meg, eller slett det, eller oppgi kilden.

For jeg pleide bare å ville samle gode artikler, men noen ganger svikter forbindelsen, så nå går jeg rett til meg selv når jeg møter en god.

Opprinnelig kilde http://blog.csdn.net/snowinfish/article/details/11567301



Når man skriver data til den ADO.NET enhetsmodellen i VS2012, sier den stadig "DbEntityValidationException ikke håndtert" og "Validering av en eller flere enheter feilet. For mer informasjon, se EntityValidationErrors Egenskaper.



Testet de to neste enhetene selv, hovedsakelig feilen forårsaket av "operate911".

Jeg sjekket informasjonen på nettet og viste til følgende artikkel.

Løsning for hvordan man ser EntityValidationErrors-detaljer

http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html

Men når unntaket skrives, har ikke systemet "DbEntityValidationException", som antas å skyldes mangel på navneromsreferanse.

Så lagt til:

[csharp] se klartekst
bruk av System.Data.Validation;  

Den tilsvarende prosedyren modifiseres til:
[csharp] se klartekst
Prøv  
{ entiteter. Operate911.Add (operate911);  
    entiteter. SaveChanges();  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Start, ingen unntaksprompt, "operate911" skriver ikke data til databasetabellen.
Grunnen til kontrollen er at når man skriver et supplerende program, er det ingen datafylling for en kolonne som ikke får lov til å være tom, og etter modifikasjon startes programmet og testen er vellykket.



Men hvis du ikke skriver et unntak, fortsett å be om den øverste feilen.

Dessuten kan parameteren "dbEx" etter setningen "catch (DbEntityValidationException dbEx)" skrives uten å skrive.

Fortsett å være ukjent...



09.12 Tillegg:

Ovenstående try og catch er skrevet feil, og unntaket kastes ikke, men endres til:


[csharp] se klartekst
Prøv  
{ var operateSpt = ny OperateSpt(ymd, timeNow, Operate);  
        entiteter. OperateSpts.Add (operateSpt);  
        entiteter. SaveChanges();  
}  

catch (DbEntityValidationException ex)  
{  
    MessageBox.Show (f.eks. Melding);  
}  

Resultatene vises i figuren nedenfor.


Fortsett å være ukjent...



Supplement: Problemløsning.

Årsak: De skrevne dataene er inkonsistente med tabellinnstillingene.

Min grunn er at på et visst trinn er de skrevne dataene tomme, men den opprinnelige tabellen er satt til "ikke tillatt å være tom", så det vil være et unntak når dette steget utføres.

Jeg var for uforsiktig og tenkte aldri på dette problemet da jeg så andre operasjoner skrevet til dataene mens jeg så på dataene.





Foregående:Dianping og Meituan skal slå seg sammen for gjensidig fordel og vinn-vinn-resultater.
Neste:ASP.NET en samling metoder for å hente rotkatalogen
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com