我正在使用Web API和EntityFramework 6.2。调度程序将为每个customerID调用API。对于一个请求,API将执行10个操作。 现在,任何一项操作都失败了,这10个操作应该针对该特定请求进行回滚。
答案 0 :(得分:1)
如果您有一个采用CustomerID列表的单一Controller方法,那么这很简单。只需调用以下方法:
static void DoStuffToCustomers(List<int> customerIds)
{
using (var db = new Db())
using (var tran = db.Database.BeginTransaction())
{
foreach (var id in customerIds)
{
db.DoStuffToCustomer(id);
}
db.SaveChanges();
tran.Commit();
}
}
如果您有10个单独的HTTP请求,则甚至不建议尝试。