Heim >Backend-Entwicklung >C++ >Wie kann ich mithilfe des Entity Framework die automatisch generierte ID einer neu eingefügten Entität abrufen?
Zugriff auf automatisch generierte IDs im Entity Framework
Entity Framework vereinfacht Datenbankinteraktionen, aber das Abrufen der automatisch generierten ID eines neu eingefügten Datensatzes kann manchmal schwierig sein. In diesem Leitfaden wird erläutert, wie Sie diese ID effizient erhalten.
Die Herausforderung
Viele Entwickler haben Schwierigkeiten, den von der Datenbank zugewiesenen Primärschlüssel zu erhalten, nachdem sie mit Entity Framework eine neue Entität hinzugefügt haben. Der einfache Zugriff auf die ID-Eigenschaft der Entität liefert möglicherweise nicht immer den korrekten, von der Datenbank generierten Wert.
Die Lösung
Entity Framework bietet eine unkomplizierte Methode zum Abrufen der automatisch generierten ID:
<code class="language-csharp">using (var context = new MyContext()) { context.MyEntities.Add(myNewObject); context.SaveChanges(); int id = myNewObject.Id; // The auto-generated ID is now available }</code>
Entity Framework integriert automatisch eine SELECT SCOPE_IDENTITY()
-Anweisung nach jedem INSERT
-Vorgang, wenn es um automatisch inkrementierende Primärschlüssel geht. Dadurch wird sichergestellt, dass die neu generierte ID sofort in der Entität widergespiegelt wird.
Schritt-für-Schritt-Umsetzung
context.MyEntities.Add(myNewObject)
, um die neue Entität zum Entity Framework-Kontext hinzuzufügen.context.SaveChanges()
auf, um die Änderungen in der Datenbank beizubehalten. Dies löst die INSERT
und die nachfolgende SCOPE_IDENTITY()
-Abfrage aus.SaveChanges()
enthält die Eigenschaft myNewObject.Id
die von der Datenbank generierte ID.Diese Methode garantiert den genauen Abruf der automatisch generierten ID und erfüllt die ursprüngliche Anforderung.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe des Entity Framework die automatisch generierte ID einer neu eingefügten Entität abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!