我有一個使用c#ASP.NET和實體框架構建的博客網站。我正在設置一個頁面來創建一個允許用戶添加標籤的博客。這工作正常。但是,當編輯博客帖子時,我確信我必須錯過一個竅門。我無法弄清楚如何在一個簡單的過程中更新附加到博客文章的所有標籤。如何更新博客文章中的所有標籤?
博客和標籤實體設置爲多對多。
所以目前我有:
_blog = blogRepo.GetBlogByID(blog.Id);
_blog.Tags = blog.Tags;
blogRepo.UpdateBlog(_blog);
blogRepo.Save();
如果我加入新的標籤,工作正常。但是,如果我刪除標籤,它只能用於實體框架。只要數據庫上下文重新初始化,它就會從數據庫中提取標籤仍然附加到博客上。
E.g.我將標籤「測試」添加到博客中。我編輯博客並刪除標籤「測試」並保存博客。該博客由相同的請求返回,標籤列表爲空。如果我再爲博客提出另一個請求,那麼標籤「測試」又回來了。
我以爲我可以每次從博客中刪除所有標籤,然後添加任何在那裏的標籤。但我相信肯定有更好的辦法。或者有什麼設置錯誤,這應該在當前的設置中工作?
任何幫助表示讚賞。特別是如果它指出我沒有看到的一些愚蠢的東西。
你可以在刪除的地方添加代碼嗎? –
@NathanA沒有任何刪除代碼。 blog.Tags是可能有新標籤的標籤的新列表,標籤可能較少或可能完全相同。去除是我正在努力解決的問題。 – AndrewPolland