客户可以拥有多个订阅,订阅只有一个客户。在检索过期的订阅实体时,我也急切地为每个Customer
加载相关的Subscription
,如下所示:
var subscriptions = dbcontext.Subscriptions.Include(s => s.Customer).Where(s => s.Status == "Expiring");
现在,当我尝试更新其中一个返回订阅的Customer上的属性并按如下方式调用SaveChanges时:
subscription.Customer.DaysRemaining = 20;
dbcontext.SaveChanges();
我遇到错误"无法在表格中插入标识列的显式值'客户'当IDENTITY_INSERT设置为OFF"
时查看生成的SQL后,它尝试插入Customer
条记录。这是什么原因?我原本以为EF会知道Customer
实体并会发出SQL UPDATE语句。