в моем приложении ASP MVC 2 я следую строго типизированному шаблону представления с конкретными моделями представления.
Я являюсь моим приложением viewmodels являются ответственными за преобразование между моделями и viewmodels .
Мои viewmodels У меня есть статическая функция ToViewModel(...)
, которая создает новая модель для соответствующей модели. Пока что я в порядке с этим.
Когда я хочу отредактировать модель, я отправляю созданную модель просмотра по проводам и применяю изменения к модели. Для этого я использую статический метод ToModel(...)
(также объявленный в модели представления). Вот заглушки для уточнения:
public class UserViewModel
{
...
public static void ToViewModel(User user, UserViewModel userViewModel)
{
...
}
public static void toModel(User user, UserViewModel userViewModel)
{
???
}
}
Итак, теперь моя «проблема»:
Некоторые модели являются сложными (больше, чем просто строки, целые, ...). Таким образом, логика постоянства должна быть помещена куда-нибудь .
(С логика персистентности я имею в виду решения Wheater для создания новой записи в БД или нет, ... не просто грубый CRUD - я использую репозитории для этого)
Я не думаю, что это хорошая идея, чтобы поместить это в мои репозитории, так как репозитории (в моем понимании) не должны касаться чего-то, что исходит из представления.
Я думал о том, чтобы поместить это в ToModel(...)
метод, но я не уверен, что это правильный подход.
Можете ли вы дать мне подсказку?
Lg
warappa