我正在使用Entity框架来创建新订单.该订单包含一系列联系人,多对多关系.我想在创建订单时添加对订单上现有联系人的引用.订购和联系实体对象.
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();
Run Code Online (Sandbox Code Playgroud)
当我去附加时,抛出此异常:
"当与此相关端相关联的源对象处于添加,删除或分离状态时,附加不是有效操作.使用NoTracking合并选项加载的对象始终是分离的."
我知道我可能错过了一步或者没有完全理解实体框架如何处理多对多关系.