@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.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Мне кажется, вся проблема вот тут:
db.Chargebacks.Attach(this);
db.Entry(this).Property(x => x.Comments).IsModified = true;


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

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

Войти через центр авторизации
Похожие вопросы