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.
|