Модель MVC3 EF - первая модель с POCO и ViewModels - PullRequest
2 голосов
/ 10 марта 2011

Множество отличных постов на эту тему, и я попытался прочитать их все. Я давний n-уровневый разработчик, но пытаюсь начать работу с приложением MVC3 / EF. Я генерировал POCO через генератор EF POCO (T4). Я также привязываю ViewModels к своим представлениям ... в моих представлениях нет EF-содержимого. Мой вопрос касается проверки (только U / I). Мне нравится идея DataAnnotations и я хочу их использовать. Однако, чтобы использовать их правильно, я должен использовать их в моих ViewModels. Из советов, которые я вижу на этом и других сайтах, мне придется копировать любые свойства из моих POCO в мои модели представлений и делать там свои аннотации. Чтобы сделать это проще, я видел много предложений использовать AutoMapper, чтобы сделать это утомительное отображение более терпимым.

Есть ли у меня правильная идея?

Ответы [ 2 ]

4 голосов
/ 10 марта 2011

Я также привязываю ViewModels к своим представлениям ... в моих представлениях нет EF

Правильно. В идеале , ваши POCO не должны быть в ваших представлениях.

Мне нравится идея DataAnnotations и я хочу их использовать.Однако, чтобы использовать их правильно, я должен использовать их в моих ViewModels

Правильно.На ваших POCO не должно быть никаких аннотаций данных.

Из советов, которые я вижу на этом и других сайтах, мне придется реплицировать любые свойства из моих POCO в мои модели представлений и выполнять моианнотации там

Почему?Вы всегда привязываете к всем свойствам ваших POCO?Помните, что ViewModel предназначен только для просмотра.Поэтому, если у вас есть форма для отправки заказа, ViewModel должен содержать только то, что требуется для сохранения этого заказа.Комбинация AutoMapper и вашего пользовательского кода может затем сопоставить это с вашим POCO.

Чтобы упростить это, я видел много предложений использовать AutoMapper, чтобы сделать это утомительное отображение более терпимым

@ Крейг прав, это не имеет ничего общего с аннотациями данных.AutoMapper сопоставляет вашу ViewModel с вашими моделями доменов с помощью нескольких строк конфигурации.

0 голосов
/ 10 марта 2011

AutoMapper - это только преобразование объекта в модель и наоборот.Это просто замена кода как пользовательского оператора преобразования между типами.Вам все равно придется создавать модели представления и помечать свойства правильными аннотациями данных.

...