2017-07-27 38 views
0

私はAsp.Netを使用してトランザクション内のデータベースへの挿入のための行のリストを持っています。しかし、それは完全にコミットしません。つまり、最後の数行は挿入されるだけです。例えばrowlistについてSQL ServerトランザクションのロールバックまたはPetapocoを使用したコミット?

using (PetaPoco.Database db = new Database("Mydb")) 
{ 
    using (var trn = db.GetTransaction()) 
    { 
     foreach(var r in rowlist) 
     { 
      db.Save(r); 
     } 

     trn.Complete(); 
    } 
} 

20個の要素を有するが、いくつかの最初の要素はPetapocoを使用して挿入されない:

私のコードです。しかし、非常にまれに起こることは、ネットワーク接続が非常に遅いことを意味します。

答えて

0

私はトランザクションやPetapocoの問題ではないと思います。

つの推測:

  1. はたぶんリストが原因低速の接続にフルに掲載されていませんか?
  2. db.Saveは、オブジェクトの設定とIDの値に応じて更新または挿入されます。最後のレコードが挿入された最初のレコードよりも更新されている可能性があります。
関連する問題