Czy można sprawdzić, czy obiekt jest już dołączony do kontekstu danych w Entity Framework?
Podczas próby dołączenia obiektu, który jest już dołączony do danego kontekstu, otrzymuję następujący błądcontext.AttachTo(...)
:
Obiekt z tym samym kluczem już istnieje w ObjectStateManager. ObjectStateManager nie może śledzić wielu obiektów za pomocą tego samego klucza.
Czy istnieje sposób na osiągnięcie czegoś w rodzaju:
context.IsAttachedTo(...)
Twoje zdrowie!
Edytować:
Opisana metoda rozszerzenia Jason jest bliska, ale nie działa w mojej sytuacji.
Próbuję wykonać jakąś pracę przy użyciu metody opisanej w odpowiedzi na inne pytanie:
Mój kod wygląda trochę tak:
var user = new User() { Id = 1 };
context.AttachTo("Users", user);
comment.User = user;
context.SaveChanges();
Działa to dobrze, z wyjątkiem sytuacji, gdy robię coś innego dla tego użytkownika, gdzie używam tej samej metody i próbuję dołączyć manekinaUser
obiekt. To się nie powiedzie, ponieważ wcześniej załączyłem ten fikcyjny obiekt użytkownika. Jak mogę to sprawdzić?