Я задаюсь вопросом, почему нет никакого метода Отсоединения на объекте DbContext как существует для ObjectContext. Я могу только предположить, что этот пропуск был намеренным, но мне нелегко выяснять почему. Я должен смочь отсоединить и повторно прикрепить объекты (для включения кэша в проекте ASP.NET, например). Однако, так как я не могу отсоединить объект, когда я пытаюсь присоединить объект, который был связан с предыдущим контекстом, я получаю "Объект объекта, не может быть сослан несколькими экземплярами IEntityChangeTracker" исключение.
Каково руководство здесь? Я пропускаю что-то?
Я обычно расширяюсь, базовый класс (наследовался DbContext) со свойством:
public class MyDbContext : DbContext
{
public ObjectContext ThisObjectContext
{
get
{
return ((IObjectContextAdapter)this).ObjectContext;
}
}
}
позже можно использовать это свойство для разнообразия полезного материала... как Отсоединение :)