@proger_brut

Как синхронизировать Observablecollection и DBContext?

Использую MVVM.

ViewModel:
public PlantGridViewModel(IUIVisualizerService uiVisualizerService)
        {
            _uiVisualizerService = uiVisualizerService;
            _dataContext = new GreeptContext();
            Plants = new ObservableCollection<Plant>(_dataContext.Plants);
        }

        public Command AddCommand
        {
            get {
                return _addCommand ?? (_addCommand = new Command(
                    () =>
                        {
                            var viewModel = new PlantViewModel(new Plant());
                            _uiVisualizerService.ShowDialog(viewModel, (sender, e)=>
                            {
                                Plants.Add(viewModel.PlantObject);
                                ???? _dataContext.SaveChanges();
                            });
                        }
                    ));
            }
        }

При изменениях в коллекциях observablecollection как отправить изменения в DBContext?
  • Вопрос задан
  • 396 просмотров
Пригласить эксперта
Ответы на вопрос 1
Maxmyd
@Maxmyd
Plants = new ObservableCollection<Plant>(_dataContext.Plants);
Plants.CollectionChanged += PlantsOnCollectionChanged;

 private void PlantsOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs args)
{
            _dataContext.Plants.AddRange(args.NewItems.Cast<Plant>().ToArray());
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы