See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 14748|Vastuse: 0

[Lahendatud] Verifitseerimine ebaõnnestub ühe või mitme üksuse puhul. Lisateabe saamiseks vaata omadust EntityValidationErrors.

[Kopeeri link]
Postitatud 08.10.2015 20:47:51 | | |
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.





Eelmine:Dianping ja Meituan ühinevad vastastikuse kasu ja win-win tulemuste nimel.
Järgmine:ASP.NET hulga meetodeid juurkataloogi saamiseks
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com