asp.net mvc с валидацией первой модели предметной базы базы данных
Я занимаюсь разработкой проекта веб-приложения ASP.NET MVC и использую первый подход к базе данных Entity Framework, поэтому я хотел бы провести валидацию сгенерированных классов моделей, и я знаю, что если я сделаю валидацию на них напрямую, тогда мои валидации будут перезаписывать каждый раз, когда модели моего домена обновляются.
Поэтому я провел исследование и нашел два подхода для использования в этом сценарии:
1- Использование классов собеседников ( Как добавить проверку в мои классы POCO(шаблон)).
2. Использование ViewModels и автоматическое сопоставление их с моими сущностями ( Разработка хранилища MVC с использованием ViewModels
Я вижу какой-то избыточный код в этих двух методах, поэтому мой вопрос:
Какой из двух подходов лучше всего использовать?
1 ответ
1) Это правильное решение для добавления метаданных проверки для объектов Entity Framework. Проверка будет вызвана автоматически EF перед вызовом SaveChanges()
2) Это подход к созданию Data Transfer Objects
из ваших объектов EF. Обычно вы делаете это, когда хотите вернуть объекты клиенту (как в формате JSON) - и вы не хотите раскрывать все специфические свойства EF (например, свойства навигации, первичные ключи и т. Д.)