2009-12-18 5 views
7

Basit soru: NHibernate bir yineleyici olmadan bir koleksiyon kaydedebilirsiniz? Örneğin:NHibernate, bir yineleyici olmadan bir koleksiyon kaydedebilir mi?

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

session.Save(list); 

Ya liste üzerinde foreach yapmak zorunda mıyız?

+0

Sen Vatansız Oturumu Kontrol dışarı bu bağlantıyı http kullanmalıdır: // stackoverflow .com/questions/29860256/c-sharp-nhibernate-save-list –

cevap

10

Basit soru - basit cevap. AFAIK no - yinelemek zorundasın. o Toplu işlem hakkında NHibernate Dokümanlar anlatılıyor gibi kızarması ve bir süre sonra oturumuna zaman takas tutarsanız Aslında hızlıdır:

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

Teşekkürler. Daha fazla çalışma değil, sadece birkaç satırlık kod kaydedip kaydetmemeyi merak ediyorum. –