Heim > Backend-Entwicklung > C++ > AddObject vs. Attach in Entity Framework 4: Wann sollte jede Methode verwendet werden?

AddObject vs. Attach in Entity Framework 4: Wann sollte jede Methode verwendet werden?

Patricia Arquette
Freigeben: 2025-01-10 13:57:41
Original
690 Leute haben es durchsucht

AddObject vs. Attach in Entity Framework 4: When to Use Each Method?

Entity Framework 4-Objektverwaltung: Detaillierte Erläuterung der Methoden ObjectContext.AddObject und Attach

Entity Framework 4 bietet zwei Methoden zum Verwalten von Objekten in einem Kontext: ObjectContext.AddObject und ObjectSet.AddObject zum Hinzufügen neuer Objekte; ObjectContext.Attach zum Anzeigen vorhandener Objekte; Obwohl die Namen ähnlich sind, spielen sie im Objektlebenszyklusmanagement sehr unterschiedliche Rollen. ObjectSet.Attach

ObjectContext.AddObject und ObjectSet.AddObject: Die Geburt von Objekten

Verwenden Sie

und ObjectContext.AddObject, wenn Sie mit neuen Entitäten arbeiten. Diese Methoden fügen dem Kontext Objekte hinzu, die noch nicht in der Datenbank vorhanden sind. Die neu hinzugefügte Entität erhält einen temporären EntityKey und einen hinzugefügten EntityState. Nach dem Aufruf von ObjectSet.AddObject erkennt das Framework diese Objekte als Entitäten, die in die Datenbank eingefügt werden müssen. SaveChanges

ObjectContext.Attach und ObjectSet.Attach: Verbindung zu vorhandenen Objekten

Im Gegensatz zu

werden AddObject und ObjectContext.Attach für Objekte verwendet, die bereits in der Datenbank vorhanden sind. ObjectSet.Attach Anstatt den EntityState auf „Added“ zu setzen, wird er auf „Unchanged“ gesetzt, was anzeigt, dass das Objekt seit dem Anhängen an den Kontext unverändert bleibt. Mit Attach gekennzeichnete Entitäten werden in der Datenbank gefunden, indem ihre EntityKey-Werte abgeglichen werden, und beim Aufruf von Attach entsprechend aktualisiert oder gelöscht. SaveChanges

Ein praktisches Anwendungsbeispiel der Attach-Methode

wird zum Erstellen neuer Entitäten verwendet, während AddObject nützlich ist, wenn mit vorhandenen Objekten gearbeitet wird. Um beispielsweise eine vorhandene Personenentität mit einer vorhandenen Adressentität im Kontext zu verbinden: Attach

Der
<code class="language-csharp">var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name == "Joe Bloggs");
var myAddress = ctx.Addresses.First(a => a.PersonID != existingPerson.PersonID);
existingPerson.Addresses.Attach(myAddress);
// 或:
myAddress.PersonReference.Attach(existingPerson);
ctx.SaveChanges();</code>
Nach dem Login kopieren

-Vorgang stellt sicher, dass die Entität „Adresse“ als vorhandene Entität erkannt und mit der Entität „Person“ verbunden wird, was korrekte Datenbankaktualisierungs- oder Löschvorgänge ermöglicht. Attach

Das obige ist der detaillierte Inhalt vonAddObject vs. Attach in Entity Framework 4: Wann sollte jede Methode verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage