Я не могу найти документацию по подключению модели представления к репозиторию с помощью Catel.
Я настроил шаблон репозитория и мои модели с кодом EF6 First (все они расширяются из ModelBase), но мне нужно знать, как использовать его с ViewModel.
Нужно ли мне создавать службу для UnitOfWork? И если да, то как? Как я буду использовать это в ViewModel?
В настоящее время я использую репозиторий в качестве модели в моей модели представления, но я не думаю, что это правильный способ сделать это? См. мою CompaniesViewModel ниже:
IUnitOfWork uow;
public CompaniesViewModel()
{
uow = new UnitOfWork<SoftwareSolutionsContext>();
CompanyRepository = uow.GetRepository<ICompanyRepository>();
}
public override string Title { get { return "Companies"; } }
protected override async Task Close()
{
uow.Dispose();
await base.Close();
}
protected override async Task Initialize()
{
Companies = new ObservableCollection<Company>(CompanyRepository.GetAll());
await base.Initialize();
}
public ObservableCollection<Company> Companies
{
get { return GetValue<ObservableCollection<Company>>(CompaniesProperty); }
set { SetValue(CompaniesProperty, value); }
}
public static readonly PropertyData CompaniesProperty = RegisterProperty("Companies", typeof(ObservableCollection<Company>), null);
[Model]
public ICompanyRepository CompanyRepository
{
get { return GetValue<ICompanyRepository>(CompanyRepositoryProperty); }
private set { SetValue(CompanyRepositoryProperty, value); }
}
public static readonly PropertyData CompanyRepositoryProperty = RegisterProperty("CompanyRepository", typeof(ICompanyRepository));
По сути, у меня есть 2 сценария работы с данными:
- получение всех данных для отображения в сетке данных
- выбор записи в сетке данных, чтобы открыть другое представление для редактирования одной записи
Любое руководство будет оценено.