DbContext
にはDetach(object entity)
がありません。
最初にEFコードのオブジェクトをデタッチする機能はありますか?
既存のオブジェクトをデタッチする場合は、@ Slaumaのアドバイスに従ってください。変更を追跡せずにオブジェクトをロードする場合:
var data = context.MyEntities.AsNoTracking().Where(...).ToList();
コメントで述べたように、これはエンティティを完全に切り離しません。それらはまだアタッチされており、遅延読み込みは機能しますが、エンティティは追跡されません。これは、たとえば、データを読み取るためだけにエンティティをロードし、それらを変更する予定がない場合に使用する必要があります。
これはオプションです:
dbContext.Entry(entity).State = EntityState.Detached;