Тъй като това е препечатка на статията. Източникът е посочен тук, моля, извинете ме, ако има статии, които са били прехвърляни преди без индикация, защото някои от тях вече не могат да намерят източника или по други причини.
Ако сте обидени, моля, свържете се с мен, или го изтрийте, или посочете източника.
Защото преди просто исках да събирам добри статии, но понякога връзката се проваля, затова сега се обръщам директно към себе си, когато срещна добра.
Оригинален източник http://blog.csdn.net/snowinfish/article/details/11567301
Когато се записват данни към модела на ADO.NET обект във VS2012, постоянно пише "DbEntityValidationException не е обработено" и "Валидирането на един или повече обекти се провали. За повече информация вижте EntityValidationErrors Properties.
Тествах следващите две същности сам, основно грешката, причинена от "operate911".
Проверих информацията онлайн и се позовах на следната статия.
Заобиколно решение за преглед на детайлите за EntityValidationErrors
http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html
Въпреки това, при писане на изключението, системата няма "DbEntityValidationException", което се предполага, че е липса на препратка към пространството от имена.
Затова добавих:
[Шарп] Виж обикновен копие използване на System.Data.Validation;
Съответната процедура се модифицира до: [Шарп] Виж обикновен копие Опитай { entities. Operate911.Add(operate911); същности. SaveChanges(); } catch (DbEntityValidationException dbEx) {
} Start, без изключение, "operate911" не записва данни в таблицата на базата данни. Причината за проверка е, че при писане на допълнителна програма няма попълване на данни за колона, която не е позволена да бъде празна, и след модификация програмата се стартира и тестът е успешен.
Въпреки това, ако не напишете изключение, продължете да подканвате горната грешка.
Освен това, параметърът "dbEx" след изречението "catch (DbEntityValidationException dbEx)" може да се запише без писане.
Продължавай да бъдеш неизвестен...
09.12 Допълнение:
Горните опити и хващане са написани неправилно, а изключението не се хвърля, а се променя на:
[Шарп] Виж обикновен копие Опитай { var operateSpt = new OperateSpt(ymd, timeNow, Operate); същности. OperateSpts.Add(operateSpt); същности. SaveChanges(); }
catch (DbEntityValidationException ex) { MessageBox.Show(ex. Message); }
Резултатите са показани на фигурата по-долу.
Продължавай да бъдеш неизвестен...
Допълнение: Решаване на проблеми.
Причина: Писмените данни не съответстват на настройките на таблиците.
Причината ми е, че на определена стъпка написаните данни са празни, но оригиналната таблица е настроена на "не е позволено да бъде празна", така че ще има изключение, когато тази стъпка се изпълни.
Бях твърде небрежен и никога не се замислях за този проблем, когато видях други операции, записани върху данните, докато ги разглеждах.
|