Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 14748|Svar: 0

[Løst] Verifikation fejler for en eller flere enheder. For mere information, se egenskaben EntityValidationErrors.

[Kopier link]
Opslået på 08/10/2015 20.47.51 | | |
Fordi det er en genoptryk af artiklen. Kilden er angivet her, undskyld hvis der er artikler, der tidligere er blevet overført uden angivelse, fordi nogle af dem ikke længere kan finde kilden, eller af andre grunde.

Hvis du føler dig fornærmet, så kontakt mig venligst, slet det, eller angiv kilden.

For jeg plejede bare at ville samle gode artikler, men nogle gange fejler forbindelsen, så nu går jeg direkte til mig selv, når jeg støder på en god.

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



Når man skriver data til den ADO.NET entitetsmodel i VS2012, bliver den ved med at sige "DbEntityValidationException not handled" og "Validation of one eller flere entities failed failed. For mere information, se EntityValidationErrors Egenskaber.



Testede selv de næste to enheder, hovedsageligt fejlen forårsaget af "operate911".

Jeg tjekkede informationen online og henviste til følgende artikel.

Workaround for, hvordan man ser EntityValidationErrors-detaljer

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

Men når undtagelsen skrives, har systemet ikke "DbEntityValidationException", hvilket formodes at skyldes mangel på navnerumsreference.

Så tilføjet:

[Csharp] Se PlainCopy
brug af System.Data.Validation;  

Den tilsvarende procedure ændres til:
[Csharp] Se PlainCopy
Prøv  
{ entiteter. Operate911.Add (operate911);  
    væsener. SaveChanges();  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Start, ingen undtagelsesprompt, "operate911" skriver ikke data til databasetabellen.
Grunden til kontrollen er, at når man skriver et supplerende program, er der ingen dataudfyldning for en kolonne, der ikke må være tom, og efter modifikation startes programmet, og testen er succesfuld.



Men hvis du ikke skriver en undtagelse, så fortsæt med at give den øverste fejl.

Desuden kan parameteren "dbEx" efter sætningen "catch (DbEntityValidationException dbEx)" skrives uden at skrive.

Fortsat være ukendt...



09.12 Tillæg:

Ovenstående try og catch er skrevet forkert, og undtagelsen er ikke kastet, men ændret til:


[Csharp] Se PlainCopy
Prøv  
{ var operateSpt = new OperateSpt(ymd, timeNow, Operate);  
        væsener. OperateSpts.Add (operateSpt);  
        væsener. SaveChanges();  
}  

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

Resultaterne vises i figuren nedenfor.


Fortsat være ukendt...



Supplement: Problemløsning.

Årsag: De skrevne data er inkonsistente med tabelindstillingerne.

Min grund er, at på et bestemt trin er de skrevne data tomme, men den oprindelige tabel er sat til "må ikke være tom", så der vil være en undtagelse, når dette trin udføres.

Jeg var for uforsigtig og tænkte aldrig over dette problem, da jeg så andre operationer skrevet til dataene, mens jeg kiggede på dataene.





Tidligere:Dianping og Meituan vil fusionere til gensidig fordel og win-win-resultater.
Næste:ASP.NET en samling metoder til at hente rodkataloget
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com