在實體框架核心 2.0 中,我在Post和之間有很多關(guān)系Category(綁定類是PostCategory)。當(dāng)用戶更新 a 時Post,整個Post對象(及其PostCategory集合)被發(fā)送到服務(wù)器,在這里我想重新分配新收到的集合PostCategory(用戶可以通過添加新類別和刪除一些類別來顯著更改此集合)。我用來更新該集合的簡化代碼(我只是分配了全新的集合):var post = await dbContext.Posts .Include(p => p.PostCategories) .ThenInclude(pc => pc.Category) .SingleOrDefaultAsync(someId);post.PostCategories = ... Some new collection...; // <<<dbContext.Posts.Update(post);await dbContext.SaveChangesAsync();這個新集合的對象與先前集合中的對象 ID 相同(例如,用戶刪除了一些(但不是全部)類別)。由于,我得到一個例外:System.InvalidOperationException:無法跟蹤實體類型“PostCategory”的實例,因為已跟蹤具有相同 {'CategoryId', 'PostId'} 鍵值的另一個實例。如何有效地重建新集合(或簡單地分配一個新集合)而不會出現(xiàn)此異常?
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報
0/150
提交
取消