Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 14748|Atsakyti: 0

[Išspręsta] Vieno ar kelių objektų patvirtinimas nepavyksta. Daugiau informacijos ieškokite ypatybėje EntityValidationErrors.

[Kopijuoti nuorodą]
Paskelbta 2015-10-08 20:47:51 | | |
Kadangi tai yra straipsnio perspausdinimas Šaltinis čia nurodytas, atleiskite, jei yra straipsnių, kurie anksčiau buvo perkelti be nuorodų, nes kai kurie iš jų neberanda šaltinio ar dėl kitų priežasčių.

Jei įsižeidėte, susisiekite su manimi, ištrinkite arba nurodykite šaltinį.

Nes anksčiau norėjau tik rinkti gerus straipsnius, bet kartais ryšys nepavyksta, todėl dabar susidūręs su geru einu tiesiai pas save.

Originalus šaltinis http://blog.csdn.net/snowinfish/article/details/11567301



Rašant duomenis į ADO.NET objekto modelį VS2012, jis nuolat sako "DbEntityValidationException not handled" ir "Vieno ar kelių objektų patvirtinimas nepavyko. Daugiau informacijos rasite EntityValidationErrors ypatybės.



Išbandžiau kitus du subjektus pats, daugiausia klaidą, kurią sukėlė "operate911".

Patikrinau informaciją internete ir nurodžiau šį straipsnį.

Sprendimas, kaip peržiūrėti išsamią EntityValidationErrors informaciją

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

Tačiau rašant išimtį sistema neturi "DbEntityValidationException", o tai spėjama, kad trūksta vardų srities nuorodos.

Taigi pridūrė:

[CSHARP] Peržiūrėti plaincopy
naudojant System.Data.Validation;  

Atitinkama procedūra keičiama taip:
[CSHARP] Peržiūrėti plaincopy
Pabandykite  
{ objektai. Operate911.Add(valdyti911);  
    subjektai. SaveChanges();  
}  
laimikis (DbEntityValidationException dbEx)   
{  

}  
Pradėti, nėra išimties raginimo, "operate911" nerašo duomenų į duomenų bazės lentelę.
Tikrinimo priežastis yra ta, kad rašant papildomą programą nėra duomenų užpildymo stulpeliui, kurio neleidžiama tuščiuoti, o po modifikavimo programa paleidžiama ir bandymas sėkmingas.



Tačiau jei neparašysite išimties, toliau raginkite pagrindinę klaidą.

Be to, parametrą "dbEx" po sakinio "catch (DbEntityValidationException dbEx)" galima parašyti nerašant.

Ir toliau nežinoma...



09.12 Priedas:

Aukščiau pateikti bandymai ir gaudymas parašyti neteisingai, o išimtis nėra išmetama, o pakeista į:


[CSHARP] Peržiūrėti plaincopy
Pabandykite  
{ var operateSpt = naujas OperateSpt(ymd, timeNow, Operate);  
        subjektai. OperateSpts.Add(valdytiSpt);  
        subjektai. SaveChanges();  
}  

laimikis (DbEntityValidationException ex)  
{  
    MessageBox.Show(pvz. pranešimas);  
}  

Rezultatai parodyti žemiau esančiame paveikslėlyje.


Ir toliau nežinoma...



Papildymas: Problemų sprendimas.

Priežastis: Parašyti duomenys neatitinka lentelės nustatymų.

Mano priežastis yra ta, kad tam tikrame žingsnyje parašyti duomenys yra tušti, tačiau pradinė lentelė nustatyta į "neleidžiama būti tuščia", todėl atliekant šį veiksmą bus išimtis.

Buvau pernelyg neatsargus ir niekada negalvojau apie šią problemą, kai pamačiau kitas operacijas, parašytas į duomenis, kai žiūrėjau duomenis.





Ankstesnis:Dianpingas ir Meituanas ketina susijungti dėl abipusės naudos ir abipusiai naudingų rezultatų.
Kitą:ASP.NET šakninio katalogo gavimo metodų rinkinys
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com