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