2013-06-12 3 views
1

Я вставит список объектов в моей базе данных с помощью следующего метода:не стойкая бактерия для System.Generic.List Fluent NHibernate

public static void InsertObjekts(List<Objekt> objekts) 
{ 
    var session = SessionManager.CurrentSession; 
    using (var transaction = session.BeginTransaction()) 
    { 
      session.SaveOrUpdate(objekts); 
      transaction.Commit(); 
    } 
} 

Но я получаю erroer no persister for System.Generic.List; Когда я перебирать в моем списке, чтобы вставить каждый элемент по-своему, он поступает только в первую итерацию, потому что у меня нет сеанса. Может кто-нибудь дать мне несколько советов по этой теме.

ответ

4

Try с этим

public static void InsertObjekts(List<Objekt> objekts) 
{ 
    var session = SessionManager.CurrentSession; 
    using (var transaction = session.BeginTransaction()) 
    { 
     foreach(var obj in objekts) 
     { 
      session.SaveOrUpdate(obj); 
     } 

     transaction.Commit(); 
    } 
} 
+0

большой, у меня попробовать этот подход, но у меня есть фиксации в операторе Еогеасп, но один вопрос к вам, сделайте NHibernate каждый раз, когда новое соединение с базой данных в этом случае? – Higune

+2

@Higune: единственный доступ к базе данных будет выполняться транзакцией. SaveOrUpdate не будет обращаться к базе данных. –

+0

один вопрос, обновление не работает правильно, каждый раз, когда это будет оператор insert – Higune

 Смежные вопросы

  • Нет связанных вопросов^_^