EF6 отслеживание исключений повышения, когда отслеживание отключено - PullRequest
1 голос
/ 13 апреля 2020

Я просто не могу понять, почему у меня все еще есть это Исключение в отношении отслеживаемых объектов, хотя я отключил отслеживание в своем конструкторе контекста, используя эти две строки.

        this.ChangeTracker.AutoDetectChangesEnabled = false;
        this.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

Я получаю свои сущности вот так

return DBContext.TypesProjets.AsNoTracking (). ToList ();

И когда я смотрю на контекст, когда Я пытаюсь обновить, я вижу, как свойства ChangeTRacker устанавливают способ, которым он должен быть установлен (AutoDetectChangesEnabled установлен на false и поведение NoTracking).

        if (typesProjets.Id.Equals(0))
        {
            var entry = DBContext.Entry(typesProjets);
            entry.State = EntityState.Added;
            DBContext.TypesProjets.Add(typesProjets);
        }
        else
        {
            var entry = DBContext.Entry(typesProjets);
            entry.State = EntityState.Modified;
        }
        DBContext.SaveChanges();
        return typesProjets;

Любой совет?

System.InvalidOperationException : «Экземпляр типа объекта« TypesProjets »не может быть отслежен, потому что другой экземпляр со значением ключа« {Id: 17} »уже отслеживается. При подключении существующих объектов убедитесь, что только один экземпляр объекта с данным значением ключа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...