我有兩種使用EF4的方法 - 一種是在使用塊中返回對象列表(Pages),另一種是創建不同類型對象(Book)的對象。 Book的其中一個屬性是FirstPage,它是第一個項目列表中的一個項目。當我嘗試設置此實例化對象的第一頁屬性,我得到一個異常:將一個對象附加到沒有上下文的另一個對象
兩個對象之間的關係不能被定義,因爲它們 連接到不同ObjectContext的對象。
我想這一定是因爲使用塊已經放置在對象被分離之前。有沒有什麼辦法可以1)在上下文已經處理之後將其分離或者2)直到我將它傳遞迴數據層,直到它回到鬼的上下文爲止?
這是我的代碼:
IEnumerable<Page> allPages = null;
using (var db = new DataContainer())
{
var items = db.Pages;
var filteredCode = items.Where(i => i.Code == PageCode);
allPages = filteredCode.ToList();
}
Page page = allPages.FirstOrDefault(p => ...); // query omitted
var book = new Book()
{
Title = @"asdas",
FirstPage = page, // 'page' is never null
// rest omitted
};
正如我懷疑。不幸,但感謝您的確認。 – Echilon 2012-07-12 08:43:18