Я не могу в это поверить. Intellisensing ItemCollection дает один элемент с ID = 0 после 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()
Неважно, что я делаю. После 8 часов, включая удаление моей модели, 35 раз создавал и перестраивал, экспериментировал и редактировал XML-файл EDMX, и теперь почти дошел до удаления всей моей базы данных SQL Server. На 36-й компиляции это ошеломляющее решение сработало
Dim abc = ItemCollection.FirstOrDefault
GtexCtx.STOCK_TYPE.AddObject(abc)
GtexCtx.SaveChanges()
abc.ID выдает 41 (нужная мне личность)
РЕДАКТИРОВАТЬ: Вот простой код для зацикливания AddObject и получения идентификатора
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
Попробуйте список IntellisenceOfST после SaveChanges, и вы найдете обновленный идентификатор. Может быть, есть лучший способ, но концепция есть