Erhalten Ihrer Entitäts-ID nach einer Entity Framework-Einfügung
Wenn Sie mit Entity Framework eine neue Entität in Ihre Datenbank einfügen, benötigen Sie häufig die von der Datenbank zugewiesene ID für nachfolgende Vorgänge. In diesem Artikel wird erläutert, wie Sie diese ID effizient abrufen können.
Obwohl Entity Framework eine ID-Eigenschaft bereitstellt, enthält diese zunächst eine temporäre Kennung und nicht die tatsächliche Datenbank-ID. Um die von der Datenbank generierte ID zu erhalten, ist eine etwas andere Methode erforderlich.
Die Lösung
Entity Framework handhabt den ID-Abruf für automatisch generierte Schlüssel (wie IDENTITY in SQL Server) elegant. Fügen Sie einfach Ihre Entität zum entsprechenden ObjectSet hinzu und rufen Sie SaveChanges
im ObjectContext auf. Die ID-Eigenschaft Ihrer Entität wird dann mit dem von der Datenbank zugewiesenen Wert aktualisiert.
<code class="language-csharp">using (var context = new MyContext()) { context.MyEntities.Add(myNewObject); context.SaveChanges(); int id = myNewObject.Id; // id now contains the database-generated ID }</code>
Intern verwendet Entity Framework SCOPE_IDENTITY()
(oder eine ähnliche Funktion, abhängig von Ihrer Datenbank), um die ID der neu eingefügten Entität abzurufen, wenn automatisch generierte Schlüssel verwendet werden. Dadurch wird sichergestellt, dass Sie ohne zusätzliche Codierung die richtige ID erhalten.
Das obige ist der detaillierte Inhalt vonWie rufe ich eine von der Datenbank zugewiesene Entitäts-ID nach dem Einfügen mit Entity Framework ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!