Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14748|Відповідь: 0

[Вирішено] Верифікація провалюється для однієї або кількох суб'єктів. Детальніше дивіться у властивості EntityValidationErrors.

[Копіювати посилання]
Опубліковано 08.10.2015 20:47:51 | | |
Оскільки це перевидання статті, джерело вказане тут, прошу вибачення, якщо є статті, які раніше були передані без вказівок, бо деякі з них більше не можуть знайти джерело або з інших причин.

Якщо ви образилися, будь ласка, зв'яжіться зі мною, видаліть це або вкажіть джерело.

Бо раніше я просто хотів зібрати хороші статті, але іноді зв'язок не вдається, тож тепер я звертаюся безпосередньо до себе, коли знаходжу хорошу статтю.

Оригінальні джерела 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. Повідомлення);  
}  

Результати показані на рисунку нижче.


Продовжуйте залишатися невідомими...



Доповнення: Розв'язання проблем.

Причина: Письмові дані не відповідають налаштуванням таблиці.

Моя причина в тому, що на певному етапі записані дані порожні, але оригінальна таблиця встановлена на «не дозволено бути порожньою», тому при виконанні цього кроку буде виняток.

Я був надто необережним і ніколи не думав про цю проблему, коли бачив інші операції, записані на дані, коли дивився на дані.





Попередній:Діанпін і Мейтуан об'єднаються заради взаємної вигоди та виграшних результатів.
Наступний:ASP.NET набір методів для отримання кореневого каталогу
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com