我有这个
Public void CreateUser(params here)
{
CreateMembership(params here);
Users newUser = new Users();
newUser.UserId = 123456
Context.Users.insertOnSubmit();
Context.Submit();
}
public void CreateMembership(...)
{
Membership membership = new Membership();
membership.Something = "something";
Context.Membership.insertOnSumbit();
Context.Submit();
}
那么如果 Users 表提交失败会发生什么情况,我如何才能将其回滚以删除 Membership 内容?或者我可以设置不同的东西,比如只从 Membership 方法中删除 Context.Submit() 行吗?
然后只有一个 Submit 被调用?还是我必须做其他事情?
最佳答案
使用 TransactionScope 应该是我的建议。
using (TransactionScope ts = new TransactionScope())
{
myContext.SubmitChanges();
ts.Complete();
}
如果 SubmitChanges() 方法抛出任何异常,它将回滚。
关于c# - 使用 linq to sql 回滚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490731/