在我的 ViewModel 中,我有一些这样的代码:
public class OrderViewModel
{
private UserOrder order;
private DeliveryCentre deliveryCentre;
// This is my EF Container
private CatalogueContainer catalogue = new CatalogueContainer();
// do some stuff...
public void Save()
{
if (order == null)
{
order = catalogue.UserOrders.CreateObject();
}
// do some other stuff...
if ((deliveryCentre == null)
|| (deliveryCentre.Id != deliveryCentreId))
{
deliveryCentre = catalogue.DeliveryCentres.First(centre => centre.Id == deliveryCentreId);
//Causes a context error, not sure why...
order.DeliveryCentre= deliveryCentre;
}
catalogue.SaveChanges();
}
因此,当交付中心是新的并且订单是新的时,我遇到了旧的“无法定义两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象”错误,这对我来说似乎有点不公平 - 我只是无法弄清楚我需要做什么才能使它们更多地属于同一个对象上下文。我认为这是由于对实体框架行为的一些基本误解。