The instance of entity type 'x' cannot be tracked because another instance with the same key

跑dbcontext.update的時候報瞭如題的錯
搞了一會兒,找到了這個這個連接
https://www.cnblogs.com/zinan/p/10293598.html
確實是這個方法解決
這裏做個補充介紹

非跟蹤查詢
在只讀方案中使用結果時,非跟蹤查詢十分有用。 可以更快速地執行非跟蹤查詢,因爲無需設置更改跟蹤信息。
可以交換單個非跟蹤查詢:

using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .AsNoTracking()
        .ToList();
}

還可以在上下文實例級別更改默認跟蹤行爲:

using (var context = new BloggingContext())
{
    context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

    var blogs = context.Blogs.ToList();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章