我正在尝试使用 linq2SQL 将 CSV 文件的内容插入到数据库表中。
如果任何插入失败,我希望能够回滚事务但是当我尝试使用此代码时,我在 - db.Transaction.Commit()处收到以下错误
System.InvalidOperationException 未处理:此 SqlTransaction 已完成;它不再可用。
有谁知道我做错了什么?
using (DataContext db = new DataContext())
{
db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();
try
{
foreach (string entry in entries)
{
XXX xxx = new XXX()
{
P1 = "something",
P2 = "something"
};
db.XXXX.InsertOnSubmit(xxx);
db.SubmitChanges();
}
}
catch (Exception)
{
db.Transaction.Rollback();
}
finally
{
db.Connection.Close();
}
db.Transaction.Commit();
}