Как предотвратить проверку EF свойств, которые не отображаются во время DBContext. SaveChanges ()

У меня есть модель пользователя с двумя строковыми свойствами [NotMapped] Password и ConfirmPassword. Они не сопоставлены, потому что я сохраняю пароль в виде байтового массива (после соления), поэтому в модели пользователя есть два дополнительных свойства (сопоставлены) InternalPassword и Salt.

Проблема в том, что когда я использую модель пользователя для изменения пароля, структура сущности выдает DBEntityValidation ошибка с сообщением «Требуется свойство пароля». Я понимаю, что EF пытается проверить мою модель перед сохранением, и поскольку пароль / ConfirmPassword не установлены, он выдает эту ошибку. Это вызывает следующие вопросы:

1) Если свойство Password явно указано как [NotMapped], почему EF проверяет его во время сохранения? 2) ЕСЛИ EF выполняет проверку во время сохранения, и то же самое выполняется во время привязки (например, в методе действия контроллера), не повредит ли это производительности? (проверка дважды) 3) Каким образом рекомендуется устранить эту ошибку? (Если я явно установил для свойства Password фиктивное значение, ошибка исчезнет.)

Изменить: я удалил код, так как он слишком длинный и может быть причиной отсутствия ответа. Если кто-то хочет посмотреть, я могу добавить его ниже.

6
задан Ladislav Mrnka 14 August 2011 в 09:46
поделиться