Tôi đang sử dụng EF để thêm bản ghi. Tôi muốn lấy ID được chèn cuối cùng. Sau đây là mã của tôi:Cách lấy ID được chèn lần cuối nếu sử dụng Khung thực thể
string query = "INSERT INTO MyTable(PONumber, Status, UpdatedBy, UpdatedOn, CreatedOn) VALUES(@PO_NUMBER, '0', @STAFF, GETDATE(), GETDATE())";
parameterList = new List<object>();
parameterList.Add(new SqlParameter("@PO_NUMBER", poNumber));
parameterList.Add(new SqlParameter("@STAFF",staff));
parameters = parameterList.ToArray();
result = db.Database.ExecuteSqlCommand(query, parameters);
query = "SELECT NewID = SCOPE_IDENTITY();";
var id = db.Lists.SqlQuery(query);
Làm cách nào để lặp lại bản ghi từ var id
?
Nếu bạn đang sử dụng EF - tại sao bạn đang thực hiện 'INSERT' với SQL thô? ** Toàn bộ điểm ** của EF là bạn có thể xử lý các đối tượng ** đẹp ** thay vì SQL thô! Chỉ cần tạo 'MyObject', thiết lập các thuộc tính, thêm nó vào ngữ cảnh EF, gọi' .SaveChanges() 'và có thuộc tính' IDENTITY' được đặt cho bạn! Không lộn xộn xung quanh với SQL cần thiết .. –
@marc_s Đã làm việc trên asp.net lần đầu tiên trên asp.net và EF. Vì vậy, ví dụ tôi thấy tôi đã cố gắng thực hiện nó dựa trên nhu cầu của tôi. Bạn có thể giúp tôi tìm ra ví dụ bạn đang nói về cái gì? – Volatil3