所以我早些时候发布了一个问题,但没有收到太多反馈。可能是我解释错了。当您的知识有限时,很难提出正确的问题。
总而言之,我有三个 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 个新条目)的新书?