Comment trouver une identité de la dernière ligne insérée dans Entity Framework?

.net entity-framework

Question

J'insère des données dans plusieurs tables. J'ai besoin de connaître le dernier identifiant inséré (auto-incrémenté) dans la table. Je dois l’utiliser comme clé Foriegn dans un autre tableau.

En bref, j'ai besoin d'alternative de @@Identity in T-Sql.

Réponse acceptée

Entity Framework chargera automatiquement le dernier identifiant inséré pour renseigner la colonne de clé primaire de l'entité insérée:

var customer = new Customer() { Name = "Steven" };

context.AddObject(customer);

context.SaveChanges();

var id = customer.Id;

Notez que la propriété Id n'est renseignée qu'après avoir appelé SaveChanges() si l'attribut StoreGeneratedPattern est défini sur "Identity" ou "Computed" pour la colonne ID auto-incrémentée dans la partie Stockage du modèle.


Réponse populaire

Quoi qu'il en soit, si vous avez besoin de l'identifiant pour une autre raison ... l'appel de la méthode d'insertion EF pour une entité renvoie automatiquement l'identifiant de la ligne actuellement insérée ...

var rowId=db.Insert(Entity); 

Je suppose que ... s'il vous plaît faites le moi savoir si je me trompe .... m jst un débutant à EF ..



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow