Khi tôi nhập một đối tượng vào DB với LINQ-to-SQL, tôi có thể lấy id mà tôi vừa chèn vào mà không thực hiện cuộc gọi db khác không? Tôi giả định điều này là khá dễ dàng, tôi chỉ không biết làm thế nào.Tôi có thể trả lại trường 'id' sau khi chèn LINQ không?
169
A
Trả lời
248
Sau khi bạn cam kết đối tượng của bạn vào db đối tượng sẽ nhận được một giá trị trong trường ID của nó.
Vì vậy:
myObject.Field1 = "value";
// Db is the datacontext
db.MyObjects.InsertOnSubmit(myObject);
db.SubmitChanges();
// You can retrieve the id from the object
int id = myObject.ID;
14
Khi chèn ID được tạo ra sẽ được lưu vào thể hiện của đối tượng được cứu rỗi (xem dưới đây):
protected void btnInsertProductCategory_Click(object sender, EventArgs e)
{
ProductCategory productCategory = new ProductCategory();
productCategory.Name = “Sample Category”;
productCategory.ModifiedDate = DateTime.Now;
productCategory.rowguid = Guid.NewGuid();
int id = InsertProductCategory(productCategory);
lblResult.Text = id.ToString();
}
//Insert a new product category and return the generated ID (identity value)
private int InsertProductCategory(ProductCategory productCategory)
{
ctx.ProductCategories.InsertOnSubmit(productCategory);
ctx.SubmitChanges();
return productCategory.ProductCategoryID;
}
tham khảo: http://blog.jemm.net/articles/databases/how-to-common-data-patterns-with-linq-to-sql/#4
Các vấn đề liên quan
- 1. SQL Chọn hoặc Chèn ID trả lại
- 2. Có thể lấy lại các ID PrimayKey sau một bản SQL BulkCopy không?
- 3. Chèn jQuery sau khi gọi lại?
- 4. Nhận bảng ID sau khi chèn với ColdFusion và MySQL
- 5. Trả lại sau khi ném ngoại lệ
- 6. Trả lại bộ sưu tập trống khi LINQ không trả lại gì cả
- 7. pyodbc trên SQL Server - Làm cách nào tôi có thể chèn và lấy lại ID hàng?
- 8. Cách trả lại id từ NHibernate ISession.SaveOrUpdate
- 9. Hủy trả lại UIScrollView sau khi kéo
- 10. Nhận ID bản ghi trong Khuôn khổ thực thể sau khi chèn
- 11. chèn không tạo Id?
- 12. Có thể trả lại bộ chọn css "được đánh dấu" (như Firebug) hoặc id id với jquery không?
- 13. Không thể trả lại JsonResult
- 14. Tôi có thể đặt ID phiên ASP.Net trong trường biểu mẫu ẩn không?
- 15. Tôi có thể cập nhật id chủ sở hữu của một Liên hệ bằng LINQ không?
- 16. Hàng Chèn Android/ORMLite có ID
- 17. Làm cách nào để lấy id đối tượng trong PyMongo sau khi chèn?
- 18. Nhận Id sau khi INSERT trong SQL Server trong môi trường đa luồng?
- 19. Có thể chặn Cập nhật sau khi Chèn trong NHibernate không?
- 20. Tôi có thể cập nhật Mới vào trước khi chèn trình kích hoạt trong sqlite không?
- 21. làm cách nào tôi có thể nhận id cuối cùng được chèn vào trong formview
- 22. Spring JdbcTemplate không thể lấy ID chèn từ MySQL
- 23. Lấy id của thực thể được chèn vào trong datomic?
- 24. getlastknownlocation luôn trả về null sau khi tôi cài đặt lại tập tin apk qua eclipse
- 25. Sản phẩm EF Linq Sum khi không có hồ sơ nào được trả về
- 26. Giá trị trả lại khi không có hàng trong PDO
- 27. Làm thế nào tôi có thể chèn trả về DELETE vào INSERT trong postgresql?
- 28. Tôi có thể chèn một chuỗi rỗng vào trường NOT NULL không?
- 29. Có chấp nhận trả lại unmodifiableList hoặc tôi có nên trả về mảng không?
- 30. Làm thế nào tôi có thể nhận được giá trị khóa chính khi tôi chèn một bản ghi mới?
Có lẽ bạn sẽ cần phải đặt trường của bạn thành "cơ sở dữ liệu được tạo" và "cập nhật khi chèn" để làm việc này. – Sam
Không, làm việc chính xác như được hiển thị ở trên! – naspinski
làm cách nào để thực hiện điều này trong C# 4.0 ?? không có insertonsubmit hoặc submitchanges ?? –