Можно ли проверить, подключен ли объект к контексту данных в Entity Framework?
Я получаю следующую ошибку при попытке присоединить объект, который уже подключен к данному контексту черезcontext.AttachTo(...)
:
Объект с таким же ключом уже существует в ObjectStateManager. ObjectStateManager не может отслеживать несколько объектов с одним и тем же ключом.
Есть ли способ достичь чего-то вроде:
context.IsAttachedTo(...)
Ура!
Редактировать:
Метод расширения, который изложил Джейсон, близок, но он не работает для моей ситуации.
Я пытаюсь сделать некоторую работу, используя метод, изложенный в ответе на другой вопрос:
Мой код выглядит примерно так:
var user = new User() { Id = 1 };
context.AttachTo("Users", user);
comment.User = user;
context.SaveChanges();
Это прекрасно работает, за исключением случаев, когда я делаю что-то еще для этого пользователя, где я использую тот же метод и пытаюсь прикрепить манекенUser
объект. Это не удается, потому что я ранее прикрепил этот фиктивный объект пользователя. Как я могу проверить это?