Kuna see on artikli kordustrükk Allikas on siin märgitud, palun andke andeks, kui on artikleid, mis on varem ilma vihjeteta üle kantud, sest mõned neist ei leia enam allikat või muudel põhjustel.
Kui oled solvunud, palun võta minuga ühendust, kustuta see või märgi allikas.
Sest varem tahtsin lihtsalt häid artikleid koguda, aga vahel ühendus ebaõnnestub, nii et nüüd pöördun otse iseenda poole, kui kohtan head artiklit.
Algallikas http://blog.csdn.net/snowinfish/article/details/11567301
VS2012-s andmete kirjutamisel ADO.NET entiteedi mudelisse, kuvatakse pidevalt "DbEntityValidationException ei käsitletud" ja "Ühe või mitme üksuse valideerimine ebaõnnestus. Lisateabe saamiseks vaata EntityValidationErrors Properties.
Testisin ise järgmisi kahte üksust, peamiselt vea, mille põhjustas "operate911".
Kontrollisin infot internetist ja viitasin järgmisele artiklile.
Lahendus, kuidas vaadata EntityValidationErrors detaile
http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html
Kuid erandi kirjutamisel puudub süsteemil "DbEntityValidationException", mis eeldatavasti tähendab nimeruumi viite puudumist.
Lisaks lisati:
[csharp] vaata plaincopy kasutades System.Data.Validation'i;
Vastav protseduur on muudetud: [csharp] vaata plaincopy proovi { entiteetid. Operate911.Add(operate911); olendid. SaveChanges(); } catch (DbEntityValidationException dbEx) {
} Start, ilma eranditeta, "operate911" ei kirjuta andmeid andmebaasi tabelisse. Kontrollimise põhjus on see, et täiendava programmi kirjutamisel ei täita andmeid veeru kohta, mis ei tohi olla tühi, ning pärast muutmist käivitatakse programm ja test on edukas.
Kui sa aga erandit ei kirjuta, jätka ülemise vea esitamist.
Lisaks saab parameetrit "dbEx" pärast lauset "catch (DbEntityValidationException dbEx)" kirjutada ilma kirjutamata.
Jääb endiselt tundmatuks...
09.12 Lisa:
Ülaltoodud proovimine ja püüdmine on valesti kirjutatud ning erandit ei visata, vaid muudetakse järgmiselt:
[csharp] vaata plaincopy proovi { var operateSpt = uus OperateSpt (ymd, timeNow, Operate); olendid. OperateSpts.Add(operateSpt); olendid. SaveChanges(); }
catch (DbEntityValidationException nt) { MessageBox.Show (nt Sõnum); }
Tulemused on näidatud alloleval joonisel.
Jääb endiselt tundmatuks...
Lisa: Probleemide lahendamine.
Põhjus: Kirjalikud andmed ei vasta tabeli seadistustele.
Minu põhjus on see, et teatud sammul on kirjutatud andmed tühi, kuid algne tabel on seatud "ei tohi olla tühi", seega on selle sammu sooritamisel erand.
Olin liiga hooletu ja ei mõelnud sellele probleemile kunagi, kui nägin teisi toiminguid andmetele kirjutatuna, kui andmeid vaatasin.
|