Dla tabeli, która ma tożsamość:Jak pobrać auto-incremented Id w ServiceStack OrmLite?
[AutoIncrement]
public int Id { get; set;}
podczas wstawiania nowego wiersza do bazy danych, co jest najlepszym sposobem, aby pobrać identyfikator obiektu?
Na przykład:
db.Insert <> (new User());
Wartość identyfikatora wynosi 0 po wstawieniu, ale w bazie danych tak nie jest. Jedyna możliwość, którą mogę zobaczyć, to:
Id = (int)db.GetLastInsertId();
Jednak nie sądzę, że byłoby to bezpieczne wezwanie do zrobienia. Jeśli w tym samym czasie dzieje się 100 elementów, może zostać zwrócony identyfikator innej wkładki. W EF, gdy robisz wstawkę, identyfikator jest ustawiony dla ciebie.
Czy ktoś wie, jak najlepiej to zrobić?
Och, więc za połączenie! Teraz ma to więcej sensu. – Dylan
Dzięki za wyjaśnienie na v3! db.GetLastInsertId() wydaje się nie działać, ponieważ jest to metoda ukryta, jak sądzę .... jakiekolwiek wskazówki? – theoutlander