1

У меня есть сайт, который имеет представления, созданные непосредственно из объектов, созданных Entity Framework. После чтения this blog by Scott GU кажется, что лучший способ заставить DataValidation работать - это начать с объектов POCO. (найдите слово «Buddy Class» по ссылке)Как я могу автоматически генерировать классы DataValidation «Buddy» из моей базы данных в ASP.NET MVC3?

Могу ли я автоматически генерировать классы друзей? Или я начал свой набег в MVC на неправильной ноге?

ответ

2

Или я начал свой набег в MVC на неправильной ноге?

Я боюсь, что это может быть так и следующее предложение подтверждает это:

У меня есть сайт, который имеет точку зрения, сгенерированные непосредственно из объектов, созданных Entity Framework

Вы не должны использовать ваши модели EF в представлениях напрямую. Считается хорошей практикой иметь модели взглядов. Это классы, которые специально разработаны для нужд данного представления и могут содержать форматирование и проверку. Типичный сценарий может быть следующим:

  1. действию контроллера испрашивается
  2. Контроллер запрашивает хранилище для извлечения модели (модели EF, если вы будете)
  3. Контроллер преобразует эту модель в модель представления используя слой отображения (это можно легко достичь с помощью AutoMapper).
  4. Контроллер передает модель представления к представлению

Этот сценарий также работает, когда действие контроллера получает модель представления с точки зрения, проверяет, является ли допустимым ModelState, отображает его обратно к модели и передает модель в репозиторий.

+0

Каков самый быстрый способ сделать проект MVC правильным способом? Сначала база данных, EF, затем AutoMapper, затем Views? Или Представления, VModel, EF, База данных? – LamonteCristo

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