Wie rufe ich eine automatisch inkrementierte ID in ServiceStack OrmLite ab?
Für eine Tabelle mit einer Identität:
[AutoIncrement]
public int Id { get; set;}
Wie kann die ID des Objekts am besten abgerufen werden, wenn eine neue Zeile in die Datenbank eingefügt wird?
Zum Beispiel:
db.Insert <> (neuer Benutzer ());
Der Wert der Id ist nach dem Einfügen 0, aber in der Datenbank ist dies offensichtlich nicht der Fall. Die einzige Möglichkeit, die ich sehen kann, ist die folgende:
Id = (int)db.GetLastInsertId();
Ich glaube jedoch nicht, dass dies ein sicherer Anruf wäre. Wenn Hunderte von Einfügungen gleichzeitig stattfinden, wird möglicherweise eine ID für eine andere Einfügung zurückgegeben. In EF wird beim Einfügen die ID für Sie festgelegt.
Kennt jemand den besten Weg, um dies zu tun?