Wie bekomme ich den primary key-Wert, wenn ich einen neuen Datensatz einzufügen?
Bin ich mit LINQ-to-SQL-Klasse. Es hat eine Methode Objekt.InsertOnSubmit() .Aber es gibt void zurück, so bekomme ich die Primärschlüssel-Werte nach dem einfügen eines Datensatzes.
Möchte ich den Primärschlüssel-Wert des zuletzt eingefügten Datensatzes.
- dc.Objekt.InsertOnSubmit(newObj); dc.SubmitChanges(); Nach dem Aufruf der oben genannten Funktionen, Harshal ist zu Fragen, Holen Sie die ID, die Datenbank gesetzt hat, nach dem einfügen des Datensatz.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ja (Vorausgesetzt, es ist ein identity-Feld).
Aufrufen InsertOnSubmit allein nicht senden der insert in die db. Müssen Sie rufen Sie SubmitChanges werden, damit die änderungen in der aktuellen datacontext-Instanz gesendet werden, um die db.
Nach dem Aufruf von SubmitChanges, können Sie auf die Werte von der Instanz, die Sie beim Aufruf InsertOnSubmit. Linq to sql wird füllen Sie diese Werte für Sie, wenn dabei der Einsatz (die Auftritt, während SubmitChanges)
Schauen Sie dieses Beispiel: http://msdn.microsoft.com/en-us/vbasic/bb737920.aspx#dynid
Kurz gesagt, Sie brauchen nicht zu. Das Objekt selbst aktualisiert.
Hier ist ein Beispiel, wie das funktioniert:
Wenn das Modell richtig eingestellt, die PK sollte festgelegt werden, auf das betreffende Objekt (der, den Sie gerade eingefügt) automatisch.
HTH.
Seth
Sobald Sie angerufen haben, die InserOnSubmit(),primary key Wert der corrosponding fiels in youe table-Objekt. Sie können einfach Zugriff auf diese Eigenschaft zu erhalten Primärschlüssel.
Rufen Sie SubmitChanges() auf Ihre Daten-Kontext nach dem einlegen der Scheibe? Der änderungssatz nicht ausgewertet werden, bis Sie tun.