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 }
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!