ASP.Net MVC Где вы конвертируете из сущностей в ViewModels? - PullRequest
5 голосов
/ 09 июня 2010

Название в значительной степени объясняет все это, последнее, что я пытаюсь сделать в нашем проекте. Мы структурированы с помощью Сервисной библиотеки, которая содержит такую ​​функцию.

        /// <summary>
        /// Returns a single category based on the specified ID.
        /// </summary>
        public Category GetCategory(int CategoryID)
        {
            var RetVal = _session.Single<Category>(x => x.ID == CategoryID);
            return RetVal;
        }

Теперь Category является Entity (мы используем Entity Framework), нам нужно преобразовать его в CategoryViewModel.

Теперь, как бы люди это структурировали? Вы бы удостоверились, что сервисная функция вернула CategoryViewModel? Контроллер извлекает данные из службы, а затем вызывает другую функцию для совмещения модели представления?

1 Ответ

3 голосов
/ 09 июня 2010

Вот отрывок из сообщения в блоге , который я написал:

[AutoMap(typeof(IEnumerable<User>), typeof(IEnumerable<UserViewModel>))]
public ActionResult Index()
{
    // return all users
    IEnumerable<User> users = Repository.GetUsers();
    return View(users);
}

В этом случае соответствующее представление строго типизировано в IEnumerable<UserViewModel>.Он использует AutoMapper для определения правил преобразования между сущностями и моделями представления.Что касается атрибута [AutoMap], то это фильтр настраиваемых действий, который проверяет модель, переданную представлению, и применяет правильное преобразование, чтобы представление имело только модель представления.

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