Đối với một bảng mà có một bản sắc:Làm cách nào để truy xuất Id được tăng tự động trong ServiceStack OrmLite?
[AutoIncrement]
public int Id { get; set;}
Khi chèn một hàng mới vào cơ sở dữ liệu, cách tốt nhất để lấy lại ID của đối tượng là gì?
Ví dụ:
db.Insert <> (new User());
Giá trị của Id là 0 sau khi chèn, nhưng trong cơ sở dữ liệu này rõ ràng không phải là trường hợp. Khả năng duy nhất tôi có thể thấy là:
Id = (int)db.GetLastInsertId();
Tuy nhiên tôi không tin đây sẽ là một lời gọi an toàn để thực hiện. Nếu có 100 lần chèn xảy ra cùng một lúc, một Id cho chèn khác có thể được trả lại. Trong EF khi bạn chèn một Id được đặt cho bạn.
Có ai biết cách tốt nhất để thực hiện việc này không?
Ồ, vì vậy nó là kết nối! Bây giờ có ý nghĩa hơn nhiều. – Dylan
Cảm ơn bạn đã làm rõ trên v3! db.GetLastInsertId() dường như không hoạt động vì nó là một phương thức ẩn mà tôi nghĩ .... bất kỳ con trỏ nào? – theoutlander