0
我有以下方法:实体框架错误:ObjectContext的实例已配置
public void InsertOrUpdate(AmazonProduct amazonProduct)
{
var product = context.AmazonProducts
.Include(x => x.AmazonLowestOfferListings)
.Include(x => x.AmazonMyPrices)
.Include(x => x.AmazonProductCompetitivePrices)
.FirstOrDefault(p => p.ASIN == amazonProduct.ASIN);
if (product == null)
{
// New entity
context.AmazonProducts.Add(amazonProduct);
}
else
{
foreach (var lineItem in amazonProduct.AmazonLowestOfferListings)
{
context.AmazonLowestOfferListings.Add(lineItem);
}
context.Entry(product).CurrentValues.SetValues(amazonProduct);
}
}
但是就行了,
foreach (var lineItem in amazonProduct.AmazonLowestOfferListings)
它给我的错误:
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
我没有得到它..我还没有把它添加到上下文中,它仍然给我这个错误?任何人有任何想法?
感谢 尼尔
您是否在传递给该方法的'amazonProduct'中包含'AmazonLowestOfferListings'? EF可能试图延迟加载该集合,该集合需要在此上下文中处理的连接。 – Drewman 2013-04-26 10:46:35
我不能,因为AmazonProduct仅仅是一个对象。如果你知道我的意思,我还没有将它添加到上下文中? – 2013-04-26 10:49:18
amazonProduct参数的值来自哪里?它的上下文可能已经被处置,因此你不能枚举它的AmazonLowestOfferListings – Netricity 2013-04-26 10:49:24