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