2015-03-30 2 views
8

Я хотел был бы подавить эти предупреждения, но я не мог понять, как это сделать.Каков правильный способ подавления предупреждений EF?

suppress

+0

У меня такая же проблема, за исключением немного отличающегося кода ошибки/предупреждения 6005. Не могу понять, как скрыть это. – Rocklan

ответ

-4

Те, кто не являются предупреждениями, которые вы видите, те ошибки. Вывод очень четко говорит о том, что диагностическое сообщение является предупреждением или ошибкой. Вы дали компилятору номер ошибки (6002) и сказали ему подавить предупреждение с этим номером, но такого предупреждения не существует. Таким образом, вам удалось создать дополнительную ошибку

В этом случае сообщение, которое вы пытаетесь подавить, является фатальной ошибкой компилятора; ваш единственный вариант - исправить ваш код. Вы должны определить первичный ключ для каждого объекта Entity Framework, или Entity Framework не будет работать с ним. Формулировка ошибки немного запутанна, так как это подразумевает, что каким-то образом компилятор «обошел» вашу проблему, но это не тот случай.

Для получения более подробной информации об этой конкретной ошибке, и как это исправить:

Error 6002: The table/view does not have a primary key defined

+10

Этот комментарий полностью ошибочен. «Ошибка» - это предупреждение, и ваш проект будет скомпенсирован с его присутствием. – TimS

5

Вы правы, что эти предупреждения, а не ошибки. Самый простой способ подавить предупреждения валидации от компилятора - отключить свойство Validate on Build модели EF. Для этого откройте свой .edmx и выберите фон. Откройте окно свойств Visual Studio и установите Validate on Build на false. Когда вы хотите проверить модель, просто откройте модель еще раз. Также существует опция контекстного меню правой кнопки мыши на модели для проверки.

Смежные вопросы