Я обычно использую Automapper для сопоставления моделей доменов для просмотра mdoels. Если вы используете DDD, часто говорят, что не стоит использовать ваши доменные модели в ваших представлениях - представления часто имеют другой набор проблем для домена.
Например, в вашем домене может быть модель пользователя:
public class User
{
public int Id {get;set;}
public string EmailAddress {get;set;}
public string FirstName {get;set;}
public string Surname {get;set;}
public string HashedPassword {get;set;}
public string EyeColour {get;set;}
}
И у вас может быть страница сводки пользователя, которая показывает подмножество этих элементов:
public class UserSummary
{
public string EmailAddress {get;set;}
public string Surname {get;set;}
}
Вы можете использовать класс UserSummary в представлении, но вы, вероятно, выберете модель пользователя домена из базы данных. В этом случае вы можете использовать Automapper для сопоставления Domain.User с ViewModel.UserSummary
var user = _repository.Get(1);
var viewmodel = Automapper.Map<Domain.User, ViewModel.UserSummary>(user);
return View(viewmodel);