110,536
社区成员
发帖
与我相关
我的任务
分享
循环放在事务里边(BeginTrans CommitTrans 之间),开启事务后进入循环,依次执行Sql语句,最后才提交。有报错直接全部回滚(RollbackTrans)!
for()
{
using (var transaction = db.Database.BeginTransaction())
{
try
{
...
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
...
}
}
}
using (var transaction = db.Database.BeginTransaction())
{
try
{
for()
{
...
}
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
...
}
}
public bool Add(List<AlarmModel> list)
{
bool flag = false;
try
{
h.db.BeginTran();//开启事务
for (int i = 0; i < 10; i++)
{
flag = h.client.InsertRange(list);
}
h.db.CommitTran();//提交事务
}
catch (Exception e)
{
flag = false;
h.db.RollbackTran();//回滚事务
}
return flag;
}