Мгновенное добавление данных C# Entity Framework

Рейтинг: 0Ответов: 1Опубликовано: 13.05.2023

Для кнопки добавления данных в таблицу сделал такой код:

context.SaveChanges();
MessageBox.Show("Изменения внесены.");

Вопрос: как сделать так, чтобы данные мгновенно вносились в таблицу? Новая строка появляется только при переходе на прошлую форму и обратно.

Ответы

▲ 0

Если приложение wpf, то вам лучше создать коллекцию ObservableCollection И привязать её к ItemsSource

ListBoxSetting.ItemsSource = Setting_;

ObservableCollection<Setting> Setting_ = new ObservableCollection<Setting>();
Setting_.CollectionChanged += ListBoxSetting_CollectionChanged; // Добавляем событие изменения коллекции

 foreach (var setting in result)
 Setting_.Add(setting); // Например заполним данные, при добавление в контрол будут добавляться сразу данные, а в событие их можно сохранять в бд

   

 // обработчик изменения коллекции
    async void ListBoxSetting_CollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
    {
        switch (e.Action)
        {
            case NotifyCollectionChangedAction.Add: // если добавление
                if (e.NewItems?[0] is Setting newSetting)
                {
                   
                }
                break;
            case NotifyCollectionChangedAction.Remove: // если удаление
                if (e.OldItems?[0] is Setting oldSetting)
                {
                }
                break;
        }
    }