2009-12-18 6 views
7

Simple question: NHibernate peut-il sauvegarder une collection sans un itérateur? Par exemple:NHibernate peut-il sauvegarder une collection sans un itérateur?

var list = new List<Item>(); 
list.Add(1000 items); 

session.Save(list); 

Ou dois-je faire foreach sur la liste?

+0

Vous devez utiliser Stateless Session Consultez ce lien http: // stackoverflow .com/questions/29860256/c-sharp-nhibernate-save-list –

Répondre

10

Simple question - réponse simple. AFAIK non - vous devez itérer. En fait, il est plus rapide si vous gardez le rinçage et l'effacement de la session après le temps comme il est dit dans les NHibernate Docs sur le traitement par lots:

for(int i=0;i<list.count;i++) 
{ 
    session.Save(list[i]) 
    if(i % 20 == 0) 
    { 
    session.Flush(); 
    session.Clear() 
    } 
} 
+0

Merci. Pas beaucoup de travail, je me demandais simplement si cela pouvait me sauver quelques lignes de code. –

Questions connexes