Я просто не могу понять, почему у меня все еще есть это Исключение в отношении отслеживаемых объектов, хотя я отключил отслеживание в своем конструкторе контекста, используя эти две строки.
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} »уже отслеживается. При подключении существующих объектов убедитесь, что только один экземпляр объекта с данным значением ключа