Экземпляр типа сущности Item не может быть отслежен, потому что другой экземпляр с таким же значением ключа для {'ItemID'} уже отслеживается - PullRequest
0 голосов
/ 26 марта 2020

Исключение происходит при обновлении сущностей, которые я пытаюсь использовать context.update, entity.statehaschanged

Не удается отследить экземпляр типа сущности "Item", поскольку другой экземпляр с таким же значением ключа для {'ItemID'} уже отслеживается. При подключении существующих объектов убедитесь, что подключен только один экземпляр объекта с данным значением ключа. Попробуйте использовать 'DbContextOptionsBuilder.

вызов функции из представления Код:

_reagent =reagentService.GetReagents(_formula.ReagentsID);
              _reagent.Quantity = _reagent.Quantity - reagentQuantityUsed;
              reagentService.EditReagents(_reagent);

Код объекта:

> public Reagents GetReagentsDetails(int id)
>         {
>           Reagents reagent = new Reagents();
>           try
>           {
>             reagent = labOrgDbContext.Reagents.Include(x => x.ReagentCategory).SingleOrDefault(x => x.ReagentsID == id &&
> x.IsDeleted != true);
>           }
>           catch (Exception ex)
>           {
>     
>             ExceptionLogging.SendErrorToText(ex, "1");
>           }
>           return reagent;
>         }
>         public void UpdateReagents(Reagents reagent)
>         {
>           try
>           {
>             //labOrgDbContext(reagent).State = EntityState.Modified;
>             labOrgDbContext.Entry(reagent).CurrentValues.SetValues(reagent);
>            // labOrgDbContext.Update(reagent);
>             labOrgDbContext.SaveChanges();
>           }
>           catch (Exception ex)
>           {
>             ExceptionLogging.SendErrorToText(ex, "1");
>           }
>         }

произошла ошибка **************** *****************

...