Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14748|Odpoveď: 0

[Vyriešené] Overenie zlyháva pre jednu alebo viac entít. Pre viac informácií pozri vlastnosť EntityValidationErrors.

[Kopírovať odkaz]
Zverejnené 8. 10. 2015 20:47:51 | | |
Keďže ide o prepis článku. Zdroj je tu uvedený, prosím, ospravedlňte ma, ak boli články už predtým presunuté bez uvedenia, pretože niektoré z nich už zdroj nenájdu, alebo z iných dôvodov.

Ak ste urazení, kontaktujte ma, vymažte to alebo uveďte zdroj.

Pretože kedysi som chcel len zbierať dobré články, ale niekedy spojenie zlyhá, takže teraz idem priamo k sebe, keď narazím na dobrý článok.

Pôvodný zdroj http://blog.csdn.net/snowinfish/article/details/11567301



Pri zápise dát do ADO.NET entity modelu vo VS2012 stále hovorí "DbEntityValidationException not handled" a "Validácia jednej alebo viacerých entít zlyhala. Pre viac informácií pozri vlastnosti EntityValidationErrors.



Testoval som ďalšie dve entity sám, hlavne chybu spôsobenú "operate911".

Skontroloval som informácie online a odkázal som na nasledujúci článok.

Obchádzka, ako zobraziť detaily EntityValidationErrors

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

Avšak pri zápise výnimky systém nemá "DbEntityValidationException", čo sa predpokladá ako nedostatok referencie v mennom priestore.

Tak som pridal:

[csharp] zobraziť plaincopy
pomocou System.Data.Validation;  

Príslušný postup je upravený na:
[csharp] zobraziť plaincopy
Skús  
{ entity. Operate911.Add(operate911);  
    entít. SaveChanges();  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Štart, bez výnimky, "operate911" nezapisuje dáta do databázovej tabuľky.
Dôvodom kontroly je, že pri písaní doplnkového programu nie je potrebné vyplniť dáta pre stĺpec, ktorý nesmie byť prázdny, a po úprave sa program spustí a test je úspešný.



Ak však nenapíšete výnimku, pokračujte v zobrazovaní najvyššej chyby.

Navyše, parameter "dbEx" za vetou "catch (DbEntityValidationException dbEx)" môže byť zapísaný bez zápisu.

Zostáva neznámy...



09.12 Dodatok:

Vyššie uvedené pokusy a chytenie sú napísané nesprávne a výnimka sa nehodí, ale zmení sa na:


[csharp] zobraziť plaincopy
Skús  
{ var operateSpt = nový OperateSpt(ymd, timeNow, Operate);  
        entít. OperateSpts.Add(operateSpt);  
        entít. SaveChanges();  
}  

catch (DbEntityValidationException ex)  
{  
    MessageBox.Show(napr. Message);  
}  

Výsledky sú zobrazené na obrázku nižšie.


Zostáva neznámy...



Doplnok: Riešenie problémov.

Dôvod: Písomné údaje nie sú v súlade s nastaveniami tabuliek.

Môj dôvod je, že v určitom kroku sú zapísané dáta prázdne, ale pôvodná tabuľka je nastavená na "nie je povolené byť prázdne", takže pri vykonaní tohto kroku nastane výnimka.

Bol som príliš neopatrný a nikdy som na tento problém nemyslel, keď som videl iné operácie zapísané do dát pri ich prezeraní.





Predchádzajúci:Dianping a Meituan sa chystajú zlúčiť pre vzájomný prospech a výhry pre obe strany.
Budúci:ASP.NET súbor metód na získanie koreňového adresára
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com