Задать вопрос
@Smilleey

Как обновить запись в БД используя EF из setter'a?

Здравствуйте. Подскажите, пожалуйста, как корректно обновить запись в БД из Grid'a? Пытаюсь сделать это из setter'a свойства, но постоянно впадаю в бесконечный цикл:
private string _comments;
public string Comments
{
    get { return _comments; }
    set
    {
        if (_comments != value)
        {
            this._comments = value;
            using (var db = new DataContext())
            {
                //var chbk = new ChargebackAnalyzeModel() {ID = this.ID, Comments = value};
                db.Chargebacks.Attach(this);
                db.Entry(this).Property(x => x.Comments).IsModified = true;
                db.SaveChangesAsync();
            }
            OnPropertyChanged();
        }
    }
}

Пробовал сделать это разными способами, но никак не получается, к сожалению. Значение обновляется из Grid'a.
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Мне кажется, вся проблема вот тут:
db.Chargebacks.Attach(this);
db.Entry(this).Property(x => x.Comments).IsModified = true;


Попробуйте вместо this создать выше "копию", "клона" этой сущности и уже работать с ней.
Вообще, я бы на вашем месте поискал был другой подход - отталкиваясь от событий изменения данных колонки/строки грида, к примеру.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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