Question

J'utilise LINQ to SQL pour insérer des données simples dans une table SANS procédure stockée . La table comporte une colonne d'ID de clé primaire, définie comme colonne IDENTITY dans SQL Server et dans mon DBML .

J'appelle d'abord InsertOnSubmit (); avec les données d'une seule ligne, puis j'appelle SubmitChanges (); pour valider la ligne dans la base de données. Mais je pense qu’il doit exister un moyen simple de récupérer ensuite la valeur de colonne IDENTITY de la ligne qui vient d’être insérée. Je ne souhaite pas fournir la valeur de colonne IDENTITY à la base de données, je souhaite qu'elle en génère une pour moi.

Comment cela est-il mieux géré?

Était-ce utile?

La solution

voici un extrait de code simple

            Dim odb As New DataClassesDataContext
            Dim tst As New test
            tst.name = "abcd"
            odb.tests.InsertOnSubmit(tst)
            odb.SubmitChanges()
            Response.Write("id:" + tst.id.ToString)

Ainsi, l’objet que vous avez utilisé dans InsertOnSubmit aura le champ d’identité rempli après la création de l’enregistrement dans la base de données

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top