日期:2014-05-17 浏览次数:21071 次
public override int ExecuteTransaction(Func<bool>[] arrayFunc) //要执行的委托数组
{
arrayFunc.ToList().ForEach(func =>
{
if (func()) //如果这个委托执行成功
{
count++;
}
});
if (count == arrayFunc.Count()) //如果全部执行成功
{
Commit(); //提交事务
}
else
{
count = 0;
Rollback(); //回滚事务
}
return count;
}
调用:
new BLL.Mem_Member().ExecuteTransaction(new Func<bool>[]
{
() => new BLL.Mem_Exchange().Add(exchange)==null,
() => new BLL.Mem_Member().Update(member)>0
})