如何在Entity Framework Code First中分离对象?

时间:2011-04-08 18:15:50

标签: entity-framework entity-framework-4.1 ef-code-first

Detach(object entity)上没有DbContext

我是否可以先在EF代码上分离对象?

2 个答案:

答案 0 :(得分:213)

这是一个选项:

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

答案 1 :(得分:132)

如果要分离现有对象,请按照@Slauma的建议进行操作。如果要在不跟踪更改的情况下加载对象,请使用:

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

如评论中所述,这不会完全脱离实体。它们仍然是附加的并且延迟加载有效,但实体不会被跟踪。例如,如果您只想加载实体来读取数据而不打算修改它们,则应该使用它。