Проблемы с использованием Entity Framework для обновления строки - PullRequest
0 голосов
/ 30 октября 2018

Я использую Entity Framework для поддержки базы данных SQL Server. Мне нужно обновить строку, если она существует, и создать строку, если это не так. Довольно просто

Ниже приведен фрагмент кода:

var snapshot = new funnelSnapshot();
snapshot.Year = cvStudent.EffectiveDate.Year;
snapshot.Week = GetWeekNumber(cvStudent.EffectiveDate);
snapshot.Status = cvStudent.StatusDesc;

var week = context.funnelSnapshots
                  .Where(x => x.Year == snapshot.Year && 
                              x.Week == snapshot.Week && 
                              x.Status == snapshot.Status)
                  .FirstOrDefault();

if (week != null)
{
      week.Count += 1;;
      context.SaveChanges();
  }
  else
  {
       snapshot.Count = 1;
       context.funnelSnapshots.Add(snapshot);
       context.SaveChanges();
  }

Таблица выглядит так:

enter image description here

Когда код выполняется, строка обновляется, когда она найдена, однако строка также вставляется. Я не могу понять, почему строка вставлена.

Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...