No puedo creerlo. Intellisensing ItemCollection proporciona el único elemento con ID = 0 después de 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()
No importa lo que haga. Después de 8 horas, incluyendo la eliminación de mi modelo, 35 veces la construcción y reconstrucción, la experimentación y edición del XML de EDMX y ahora casi llegando a eliminar toda mi base de datos de SQL Server.En la compilación 36a, esta solución dumbfounding trabajó
Dim abc = ItemCollection.FirstOrDefault
GtexCtx.STOCK_TYPE.AddObject(abc)
GtexCtx.SaveChanges()
abc.ID un rendimiento del 41 (la identidad que necesitaba)
EDIT: He aquí un simple código de reflexión para AddObject bucle y aún así obtener 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
Pruebe Intellisence listOfST después de SaveChanges y encontrará la ID actualizada. Tal vez hay una mejor manera, pero el concepto es que hay
Esto sigue siendo cierto 7 años después. Actualizar no fue recoger mis cambios clave. Crear un nuevo modelo resolvió el problema. – nunzabar