Auf dem DbContext
gibt es keine Detach(object entity)
.
Kann ich zuerst Objekte im EF-Code entfernen?
Wenn Sie ein vorhandenes Objekt entfernen möchten, befolgen Sie die Anweisungen von @ Slauma. Wenn Sie Objekte laden möchten, ohne Änderungen nachzuverfolgen, verwenden Sie:
var data = context.MyEntities.AsNoTracking().Where(...).ToList();
Wie im Kommentar erwähnt, werden Entitäten dadurch nicht vollständig getrennt. Sie sind immer noch angehängt und das verzögerte Laden funktioniert, aber Entitäten werden nicht verfolgt. Dies sollte zum Beispiel verwendet werden, wenn Sie eine Entität nur zum Lesen von Daten laden möchten und nicht vorhaben, diese zu ändern.
Dies ist eine Option:
dbContext.Entry(entity).State = EntityState.Detached;