客户可以拥有多个订阅,订阅只有一个客户 . 在检索过期的订阅实体时,我也急切地为每个 Subscription 加载相关的 Customer ,如下所示:

var subscriptions = dbcontext.Subscriptions.Include(s => s.Customer).Where(s => s.Status == "Expiring");

现在,当我尝试更新其中一个返回订阅的Customer上的属性并调用SaveChanges时,如下所示:

subscription.Customer.DaysRemaining = 20;
dbcontext.SaveChanges();

我遇到错误“当IDENTITY_INSERT设置为OFF时,无法在表'Customer'中为标识列插入显式值”

查看生成的SQL后,它正在尝试插入 Customer 记录 . 这是什么原因?我原本以为EF会知道 Customer 实体并会发出SQL UPDATE语句 .