Maison > développement back-end > C++ > Comment récupérer un ID d'entité attribué par la base de données après insertion avec Entity Framework ?

Comment récupérer un ID d'entité attribué par la base de données après insertion avec Entity Framework ?

Mary-Kate Olsen
Libérer: 2025-01-21 11:17:13
original
406 Les gens l'ont consulté

How to Retrieve a Database-Assigned Entity ID After Insertion with Entity Framework?

Obtention de votre identifiant d'entité après une insertion d'Entity Framework

Lorsque vous insérez une nouvelle entité dans votre base de données à l'aide d'Entity Framework, vous aurez souvent besoin de l'ID attribué par la base de données pour les opérations ultérieures. Cet article explique comment récupérer efficacement cet identifiant.

Bien qu'Entity Framework fournisse une propriété ID, celle-ci contient initialement un identifiant temporaire, et non l'ID réel de la base de données. Pour obtenir l'ID généré par la base de données, une méthode légèrement différente est requise.

La solution

Entity Framework gère avec élégance la récupération d'ID pour les clés générées automatiquement (comme IDENTITY dans SQL Server). Ajoutez simplement votre entité à l'ObjectSet approprié et appelez SaveChanges sur l'ObjectContext. La propriété ID de votre entité sera ensuite mise à jour avec la valeur attribuée par la base de données.

using (var context = new MyContext())
{
  context.MyEntities.Add(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // id now contains the database-generated ID
}
Copier après la connexion

En interne, Entity Framework utilise SCOPE_IDENTITY() (ou une fonction similaire en fonction de votre base de données) pour récupérer l'ID de l'entité nouvellement insérée lorsque des clés générées automatiquement sont utilisées. Cela garantit que vous obtenez le bon identifiant sans codage supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal