Hoy noté un comportamiento extraño en mi servicio de importación cuando traté de importar múltiples registros de datos.InsertAllOnSubmit solo inserta el primer registro de datos
Cuando lo hago de esta manera, todos los datos de los registros son importados y el valor auto-incrementales es correcta (see screenshot):
public void Create(List<Property> properties)
{
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
dbc.SubmitChanges();
}
}
Cuando lo intento como éste, sólo la primera obtener el registro de datos de una correcta valor auto-incrementales (see screenshot):
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
}
dbc.SubmitChanges();
mismo digo:
dbc.Property.InsertAllOnSubmit(properties);
dbc.SubmitChanges();
¿Alguien tiene una idea de por qué es así? Las tres variantes deberían importar todos los registros de datos de acuerdo con mi comprensión, pero los valores faltantes autoincrementados indican que no es así.
[EDITAR] Se agregaron dos capturas de pantalla.
Como nota al margen, ¿está seguro de que es dbc.Property y no dbc.Properties? LINQ to SQL generalmente pluraliza los nombres de la colección ... – BFree
Sí, es "Propiedad". Yo nombré las tablas yo mismo, no fueron generadas automáticamente o algo así. Además, si se llamara "Propiedades", entonces el primer ejemplo tampoco debería funcionar, ¿o sí? –
Parece que la gente acepta que es un problema, pero nadie +1? Bueno, voy a comenzar. Esto suena como que podría ser un error para mí. – MattH