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