Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14748|Odpověď: 0

[Vyřešeno] Ověření selže u jednoho nebo více subjektů. Pro více informací viz vlastnost EntityValidationErrors.

[Kopírovat odkaz]
Zveřejněno 08.10.2015 20:47:51 | | |
Protože se jedná o přetisk článku. Zdroj je zde uveden, omluvte mě, pokud byly články dříve přeneseny bez upřesnění, protože některé z nich už zdroj nenajdou, nebo z jiných důvodů.

Pokud jste uraženi, kontaktujte mě, smažte to nebo uveďte zdroj.

Protože dřív jsem chtěl jen sbírat dobré články, ale někdy spojení selže, takže teď jdu rovnou k sobě, když narazím na dobrý článek.

Původní zdroj http://blog.csdn.net/snowinfish/article/details/11567301



Při zápisu dat do ADO.NET entity modelu ve VS2012 stále hlásí "DbEntityValidationException not handled" a "Validace jedné nebo více entit selhala. Pro více informací viz EntityValidationErrors Properties.



Testoval jsem další dvě entity sám, hlavně chybu způsobenou "operate911".

Zkontroloval jsem informace online a odkázal na následující článek.

Řešení pro zobrazení detailů EntityValidationErrors

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

Při zápisu výjimky však systém nemá "DbEntityValidationException", což se předpokládá jako nedostatek reference v jmenném prostoru.

Takže přidáno:

[csharp] zobrazit plaincopy
pomocí System.Data.Validation;  

Odpovídající postup je upraven na:
[csharp] zobrazit plaincopy
zkus  
{ entity. Operate911.Add(operate911);  
    entit. SaveChanges();  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Start, bez výjimky, "operate911" nezapisuje data do databázové tabulky.
Důvodem kontroly je, že při psaní doplňkového programu není vyplňováno vyplnění dat pro sloupec, který nesmí být prázdný, a po úpravě se program spustí a test je úspěšný.



Pokud ale výjimku nenapíšete, pokračujte v vyvolání horní chyby.

Navíc parametr "dbEx" za větou "catch (DbEntityValidationException dbEx)" lze zapsat bez zápisu.

Stále zůstává neznámý...



09.12 Dodatek:

Výše uvedené pokusy a chyťení jsou napsány špatně a výjimka není vyhozena, ale změněna na:


[csharp] zobrazit plaincopy
zkus  
{ var operateSpt = nový OperateSpt(ymd, timeNow, Operate);  
        entit. OperateSpts.Add(operateSpt);  
        entit. SaveChanges();  
}  

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

Výsledky jsou zobrazeny na obrázku níže.


Stále zůstává neznámý...



Doplněk: Řešení problémů.

Důvod: Psaná data nejsou v souladu s nastavením tabulky.

Můj důvod je, že v určitém kroku jsou zapsaná data prázdná, ale původní tabulka je nastavena na "není dovoleno být prázdná", takže při provedení tohoto kroku nastane výjimka.

Byl jsem příliš nedbalý a nikdy jsem na tento problém nemyslel, když jsem viděl jiné operace zapsané do dat, když jsem se na ně díval.





Předchozí:Dianping a Meituan se spojí pro vzájemný prospěch a výsledky výhodné pro obě strany.
Další:ASP.NET soubor metod, jak získat kořenový adresář
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com