1
這一個我今天有一個奇怪的。LINQ 2 SQL查詢ObjectDisposed異常
我在裝配方法中有這個查詢。
public Order[] SelectAllOrders()
{
Order[] orders;
using (MyDataContext context = new MyDataContext())
{
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Order>(order => order.OrderDetails);
context.LoadOptions = dlo;
orders = context.Orders.Select(p => p).ToArray();
}
return orders;
}
認爲我已經叫ToArray的()SQL命令執行,給我我需要的對象,我給他們一個新的秩序[]數組這應該不需要DataContext的實例。 雖然我序列化從訂單[]我從方法返回,串行器試圖再次訪問DataContext,我得到一個異常,無法訪問處置對象。
嘗試沒有使用()語句,並應該像它應該。但是,爲什麼我得到這種行爲? 任何人都可以解釋爲什麼在我調用.ToArray()併爲內容分配新變量時,延遲加載仍然存在?
Marc,thanx for回答,我不記得如何在輸出窗口中顯示SQL查詢以避免Console項目測試,找不到它:P。所以,創建了控制檯,你是對的,我愚蠢的忘記了關聯OrderDetails 1 - *產品。答案是LoadWith(od => od.Product),它的一切都很好。謝謝.... –
2009-12-16 13:18:09