Удаление объекта без его предварительного извлечения (Entity Framework 4) - PullRequest
2 голосов
/ 23 ноября 2010

Я использую такой код (описан в http://blogs.msdn.com/b/alexj/archive/2009/03/27/tip-9-deleting-an-object-without-retrieving-it.aspx) для удаления объекта:

Category stub = new Category { ID = 4 }; 
ctx.AttachTo("Categories", stub); 
ctx.DeleteObject(stub); 
ctx.SaveChanges();

Однако, это не работает, когда объект с ID = 4 уже загружен в контекст какой-либо предыдущей операцией. Есть ли способ проверить и выполнить присоединение, только если такого объекта нет в контексте?

1 Ответ

2 голосов
/ 23 ноября 2010

Попробуйте использовать метод ObjectStateManager.TryGetObjectStateEntry , который возвращает false, если для объекта нет записи о состоянии.

Вы можете получить ObjectStateManager из ObjectContext.ObjectStateManagerимущество.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...