我正在使用实体框架来创建新订单。该订单包含联系人集合,多对多关系。我想在创建订单时添加对现有联系人的引用。订购和联系实体对象。
Order order = new Order();
//set details on order
Contact contact = new Contact();
EntityKey contactKey =
new EntityKey("OrderDetails.Contact",
"contact_id", contact.Key.Id);
contact.EntityKey = contactKey;
contact.contact_id = contact.Key.Id;
order.Contact.Attach(contact); // throws an exception!
OrderDetails ordTable = new OrderDetails();
ordTable.AddToOrder(order);
int result = orgTable.SaveChanges();
当我去附加,这个异常被抛出:
“当与此相关端关联的源对象处于添加、删除或分离状态时,附加不是有效操作。使用 NoTracking 合并选项加载的对象始终是分离的。”
我知道我可能错过了一步,或者没有完全理解实体框架如何处理多对多关系。