победить? by design? https://gist.github.com/twilightrus/13427af0fc5abb76a7805714aecbe01d
я про то что я делаю несколько апдейтов вроде без ченж трекинга, но он понятное дело все равно отслеживает, чтобы при SaveChanges закоммитить изменения. но я нигде не могу сделать несколько апдейтов у одной и той же сущности (в виде одного, чтобы применилось последнее состояние сущности)
а, сори, забыл написать что оно exception бросает на 19 строке: The instance of entity type 'User' cannot be tracked because another instance with the same key value for {'Id'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values.
Очень странный код у тебя
а что именно тебя смущает? пусть на одном и том же scoped контексте делают Update без SaveChanges
У них там апдейт — это, по сути, реплейс. А твой код выглядит так, будто ты это отрицаешь
я и хочу сделать реплейс, чтобы при SaveChanges сохранилась сущность только от второго апдейта
давай я тебе даже пример поадекватнее покажу: https://gist.github.com/twilightrus/cca2b2d5a6788ef21e5954c03cfebc16 добавляем сущность, делаем SaveChanges, и пытаемся ее обновить. на 17 строке падает с The instance of entity type 'User' cannot be tracked because another instance with the same key value for {'Id'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values. мне одному кажется что это странное поведение?
Ок, да, вот тут совсем странно. Но я не удивлён :)
тебя уже никак не удивишь. вот я для такой дичи писал что-то вроде поиска entry и замены value в ChangeTracker. и это одна из основных причин почему не хочется использовать EF
Метод Update начинает трекать сущность, ты доку читал? И то, что ты пишешь экстеншены к ченжтрекеру и при этом не можешь загуглить как сделать реплейс без ченж трекинга это пздц
о чем ты? как это загуглить?
Ошибся, поверил стэку, EF в любом случае начинает трэкать при сохранении
Обсуждают сегодня