Привет, я хотел бы знать, как правильно инициализировать модель из БД в MVVM.
Я использую Caliburn.Micro Framework, для внедрения зависимостей я могу использовать MEF или Castle Windsor, а в качестве ORM я могу использовать Entity Framework или NHibernate.
У меня есть класс модели, это может быть POCO
public class SomeModel{}
Также у меня есть представление о модели класса
public interface IViewModelA
{
ModelA SomeModel{get;set;}
}
public class ViewModelA : ScreenViewModel, IViewModelA
{
public ModelA SomeModel{get;set;}
}
Я связываю свойства SomeModel при просмотре. Я думаю, что это не очень хороший вид.
Я хотел бы знать, как правильно загружать данные из репозитория (XML, DB-with ORM) в модель.
Создать здесь какой-нибудь другой класс, например, свойства моделей представления инициализации ModelManager?
Этот образец с Caliburn + MEF
public interface IManager{}
[Export(typeof(IManager)]
public class Manager :Screen,IManager
{
//import dependencies with MEF
[Import]
public IViewModelA VMA{get;set;}
public void Init()
{
VMA.SomeModelA=//load from DB
}
}
Или что является правильным и распространенным способом?
Я хотел бы увидеть простой пример из реального мира с Caliburn.Micro + ORM (NHibernate / Entity Framework) + IoC (MEF / Castle Windsor).
Спасибо