8
votes

Comment inserquer correctement () et est-ce que c'est mieux que la boucle insertsUnubmit ()?

Dis que j'ai: xxx pré>

est-il possible et / ou meilleur (pire?) Pour faire: P>

using (SomeDataContext db = new SomeDataContext())
{
     IEnumerable<DbItem> dbItems = //???? possible?

     foreach(Item i in Items)
     {
          DbItem d = new DbItem;
          d.value = i.value;
          //.... etc ...

          dbItems.Add(d); // ???? again, somehow possible?
     }

     db.InsertAllOnSubmit(dbItems);
     db.SubmitChanges();
}


0 commentaires

3 Réponses :


13
votes

Eh bien, vous pouvez utiliser Liste : xxx

si cela sera plus efficace ou non, je ne sais pas.


1 commentaires

Merci, cela a travaillé. J'ai été jeté par l'intellensense pour dire que le type d'entrée était iénumérable.



2
votes

Ne pas dire que c'est mieux ou pire, mais à tout moment, vous pouvez apporter une seule base de données, appelez une base de données dans une boucle, vous verrez une augmentation de la performance. Maintenant qu'est-ce que .submitches () fait dans les coulisses est quelque chose de notre contrôle.


0 commentaires

3
votes

Vous ne verrez aucune amélioration de la performance ici, car rien ne se passe jusqu'à ce que vous appelle soumissions () code>.

Mais même si vous faites quelque chose de moche comme ça P>

foreach(Item i in Items)      
{           
    DbItem d = new DbItem;           
    d.value = i.value;           
    //.... etc ...            
    db.InsertOnSubmit(d);      
    db.SubmitChanges();
}       


0 commentaires