我使用实体框架来维护一个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();
}
桌子看起来像这样:
代码运行时,找到行时会更新行,但也会插入行。我不明白为什么要插入行。
请帮忙