客户可以拥有多个订阅,订阅只有一个客户 . 在检索过期的订阅实体时,我也急切地为每个 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语句 .