Tôi không thể tin được. Intellisensing ItemCollection mang lại một mục với ID = 0 sau SaveChanges.
Dim ItemCollection = From d In action.Parameter
Select New STOCK_TYPE With {
.Code = d.ParamValue.<Code>.Value,
.GeneralUseID = d.ParamValue.<GeneralUse>.Value,
}
GtexCtx.STOCK_TYPE.AddObject(ItemCollection.FirstOrDefault)
GtexCtx.SaveChanges()
Không có vấn đề gì tôi làm. Sau 8 giờ kể cả xóa mô hình của tôi, 35 lần xây dựng và xây dựng lại, thử nghiệm và chỉnh sửa XML của EDMX và bây giờ gần như sắp xóa toàn bộ cơ sở dữ liệu SQL Server của tôi.Tại biên dịch 36, giải pháp dumbfounding này làm việc
Dim abc = ItemCollection.FirstOrDefault
GtexCtx.STOCK_TYPE.AddObject(abc)
GtexCtx.SaveChanges()
abc.ID mang 41 (bản sắc tôi cần)
EDIT: Đây là một mã đơn giản để suy nghĩ cho Looping AddObject và vẫn nhận được ID
Dim listOfST As List(Of STOCK_TYPE) = ItemCollection.ToList()
For Each q As STOCK_TYPE In listOfST
GtexCtx.STOCK_TYPE.AddObject(q)
Next
GtexCtx.SaveChanges()
...more code for inter-relationship tables
Hãy thử danh sách IntellisenceOfST sau SaveChanges và bạn sẽ tìm thấy ID được cập nhật. Có thể có cách nào tốt hơn nhưng khái niệm này là có
Nguồn
2012-03-31 17:58:02
Điều này vẫn còn đúng 7 năm sau đó. Làm mới không nhận được các thay đổi chính của tôi. Tạo một mô hình mới đã giải quyết được vấn đề. – nunzabar