時,ObjectStateManager中已存在具有相同關鍵字的對象,因此我之前發佈了一個問題,但未收到太多反饋。可能是我解釋錯了。當你的知識有限時,很難問正確的問題。總而言之,我有三個EF實體:Books,Pages和Content - 書中有許多頁面,一頁只有一個內容。EF - 在將現有實體添加到關聯
我已經有內容條目,我不需要創建它們,只是在我的Page實體中引用它們。所以我想要做的是這樣的:
//Add a new Book
var myBook = new Book();
//Add a new page
var myPage = new Page();
//I'm selecting this one from an asp.net dropdown box
var myContent = contentService.get(id);
//Connect the page and content
myPage.Content = myContent;
//Add a page to the book
myBook.Pages.Add(myPage)
當我添加的第一頁,一切都很好,但是當我嘗試將第二個添加到我的書,我得到一個異常。如果我將myContent分配給導航屬性(myPage.Content = myContent)的行註釋掉,則錯誤消失。
最大的問題是......如何在頁面引用已存在的數據庫條目時,如何添加一個有2頁或更多頁的新書(數據庫中有2個新條目)?
您是否試圖在同一個過程中添加第二個頁面?或者我的頁面已經存在於數據庫中,並且您嘗試添加第二頁? – Silagy 2013-03-16 09:00:49
此時沒有任何內容保存在數據庫中。數據庫只包含內容條目。我想要做的是創建一本新書,然後創建一個新頁面(數據庫中已經存在的內容),另一個,另一個...一旦我完成了,我想保存一個新的書(數據庫條目)及其所有頁面(包含FK到內容的數量的數據庫條目) – esper 2013-03-16 09:06:48
在'頁面'的關係中,2頁可以引用相同的內容嗎?這就是問題在這裏的樣子(除非在每次調用中將「Id」更改爲其他內容)。 – James 2013-03-16 09:31:22