Comment puis-je obtenir la valeur de la clé primaire lorsque j'insère un nouvel enregistrement?
Je suis à l'aide de LINQ-to-SQL classe. Il a une méthode de l'objet.InsertOnSubmit() .Mais il retourne void, je peux donc obtenir des valeurs de clé primaire après l'insertion d'un enregistrement.
Je veux la valeur de clé primaire récemment enregistrement inséré.
dc.Objet.InsertOnSubmit(newObj); dc.SubmitChanges(); Après l'appel de fonctions ci-dessus, Harshal est de demander à récupérer l'ID de base de données a mis sur l'insertion de cet enregistrement.
OriginalL'auteur harshalb | 2009-04-25
Vous devez vous connecter pour publier un commentaire.
oui (en Supposant que c'est un champ d'identité).
Appel InsertOnSubmit seul à ne pas envoyer de l'insérer dans la bd. Vous devez appeler SubmitChanges pour tout changement dans le datacontext instance d'être envoyé à la db.
Après avoir appelé SubmitChanges, vous pouvez accéder aux valeurs de l'exemple que vous avez utilisé lors de l'appel de InsertOnSubmit. Linq to sql remplir ces valeurs pour vous lorsque vous faites l'insert (qui se produit au cours de SubmitChanges)
Vérifier cet exemple: http://msdn.microsoft.com/en-us/vbasic/bb737920.aspx#dynid
OriginalL'auteur eglasius
En bref, vous n'avez pas besoin d'. L'objet lui-même est mis à jour.
OriginalL'auteur aleemb
Voici un exemple de comment cela fonctionne:
OriginalL'auteur Jose Basilio
Si le modèle est correctement configuré, le psy doit être défini sur l'objet concerné (celui que vous venez d'insérer) auto-magiquement.
HTH.
Seth
OriginalL'auteur
Une fois que vous avez appelé le InserOnSubmit(),la valeur de la clé primaire est définie à l'corrosponding champs dans youe objet de la table. Vous pouvez simplement accéder à la propriété pour obtenir la Clé Primaire.
OriginalL'auteur Kapil
Faites-vous appel à SubmitChanges() sur votre contexte de données après l'insertion de l'enregistrement? La révision ne sera pas évaluée jusqu'à ce que vous faites.
OriginalL'auteur Dave L