"метод заглушки", примененный к EF CF, требует заполнения всех полей [Обязательный]? - PullRequest
0 голосов
/ 04 декабря 2011

Я был действительно счастлив найти так называемый «метод заглушки» для сохранения поиска в БД при обновлении (среди прочего).Но когда я попробовал это сделать и просто заполнил поле первичного ключа на моей заглушке и ничего больше, в моем DbEntityValidationException возникла целая куча ошибок проверки, которые были сгенерированы в SaveChanges ().Большинство / все из них были EF, жалуясь на то, что обязательные поля не были указаны, но я предполагаю, что я также столкнулся бы с проблемами ссылочной целостности.

Я предположил (неправильно?), Что метод заглушки был способом для EF1) знать, какую сущность обновлять на основе первичного ключа, 2) мне не нужно было перезагружать все остальные поля, которые я не обновил, и 3) обновлять только те поля, которые я на самом деле обновил.

Я сейчаспочти уверен, что я не понял.Жаль, метод заглушки был классным понятием.

Если это все правда, то, похоже, мне нужно сначала извлечь объект перед его обновлением?

(http://blogs.msdn.com/b/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx)

1 Ответ

0 голосов
/ 04 декабря 2011

Метод заглушки - это крутая концепция, но валидация в EF - нет. Эти две вещи не работают вместе. Либо используйте полные сущности со всеми допустимыми данными и методами проверки, либо методы-заглушки и другие улучшения без проверки.

Вы можете отключить проверку, позвонив по номеру:

context.Configuration.ValidateOnSaveEnabled = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...