J'ai remarqué un comportement étrange dans mon service d'importation aujourd'hui lorsque j'ai essayé d'importer plusieurs enregistrements de données.InsertAllOnSubmit insère uniquement le premier enregistrement de données
Quand je le fais comme ça, tous les enregistrements de données sont importées et la valeur auto-incrémentée est correcte (see screenshot):
public void Create(List<Property> properties)
{
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
dbc.SubmitChanges();
}
}
Quand j'essaie comme ça, seul le premier get d'enregistrement de données est un bon valeur auto-incrémentée (see screenshot):
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
}
dbc.SubmitChanges();
même ici:
dbc.Property.InsertAllOnSubmit(properties);
dbc.SubmitChanges();
Est-ce que quelqu'un a une idée de pourquoi c'est comme ça? Les trois variantes doivent importer tous les enregistrements de données selon ma compréhension, mais les valeurs auto-incrémentées manquantes indiquent que ce n'est pas le cas.
[EDIT] Ajouté deux captures d'écran.
Juste comme une note de côté, êtes-vous sûr que c'est dbc.Property et pas dbc.Properties? LINQ to SQL généralement pluralise les noms de collection ... – BFree
Oui, c'est "Property". J'ai nommé les tables moi-même, elles n'étaient pas générées automatiquement ou quelque chose comme ça. Aussi, s'il s'appelait "Propriétés", alors le premier exemple ne devrait pas fonctionner non plus, devrait-il? –
Il semble que les gens s'entendent sur un problème, mais personne +1? Eh bien, je vais commencer. Cela semble être un bug pour moi. – MattH