Как отключить объекты в Entity Framework Code First?

В DbContext нет Detach(object entity).

У меня есть возможность сначала отделить объекты от EF-кода?

Ответ 1

Если вы хотите отсоединить существующий объект, следуйте советам @Slauma. Если вы хотите загружать объекты без изменений отслеживания, используйте:

var data = context.MyEntities.AsNoTracking().Where(...).ToList();

Как упоминалось в комментарии, это не будет полностью отделять сущности. Они все еще привязаны и ленивы, но объекты не отслеживаются. Это следует использовать, например, если вы хотите загружать объекты только для чтения данных, и вы не планируете их изменять.

Ответ 2

Это вариант:

dbContext.Entry(entity).State = EntityState.Detached;