2017-07-27 108 views
0

我有使用Asp.Net在事务中插入数据库的行列表。但它不会完全承诺。这意味着最后几行只能插入。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(); 
    } 
} 

例如rowlist具有20个元素,但使用Petapoco一些第一元件没有插入。但这种情况很少会发生,这意味着网络连接速度很慢。

回答

0

我不认为它在交易或Petapoco中存在问题。

两个猜测:

  1. 也许列表并不完全是由于发布到能看明白?
  2. 您是否知道db.Save根据对象配置和ID值更新或插入?也许最后的记录在插入的第一个记录上更新