C#多表数据保存页面卡死

C#,BS项目,MVC框架,SQL2008数据库,表结构是3个表,主A从B再从C,数据量关联比例大概是1:10:100

数据修改保存的时候,主表A需按某条件筛选出来进行更新,然后逐个更新从表B里的数据,再按满足条件更新C里的数据

保存结果:等待时间长,卡死,报错

描述:现在A的数据量大概400条左右,在修改A的时候加了事务TransactionScope,结果是更新了50条左右,日志里报错,【与当前连接相关联的事务已经完成,但尚未释放。必须先释放该事务,然后才能使用该连接来执行 SQL 语句。】去掉事务,能更新300条,等待时间过长,页面卡死

请有经验的大佬给个思路,这种多表关联的数据保存,如何做(主表A的数据未来远不止400)

检查用的是不是同一个连接(connection)
一般这样使用:

using (SqlConnection conn=new SqlConnection("****"))
{
    conn.Open();

    SqlTransaction transaction = conn.BeginTransaction();

     //更新操作

     transaction.Commit();
}

页面卡,后台可以使用async结合await进行异步操作

https://blog.csdn.net/newbie_xymt/article/details/81777675

搞个线程专门给sql操作吧先