c# - 使用 linq to sql 回滚?

标签 c# .net asp.net linq-to-sql

我有这个

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/

相关文章:

c# - 如何以编程方式启用 Net.Tcp 端口共享服务?

c# - ASP.NET 的 ObjectDataSource 和 NHibernate session 管理

c# - 委托(delegate)的目的

C++/命令行界面 : how to store a managed reference inside a native class?

c# - Entity Framework 核心连接字符串 - 环境变量

c# - 如何获得比 VIX_E_FAIL 更具体的错误原因

c# - MonoDevelop (Ubuntu) 和 MySql

c# - 登录用户名和文本框文本未保存在数据库中

c# - 如何使用 C# 在 Windows Server 2008 中写入事件日志?

asp.net - WCF - 发现该契约(Contract)的多个端点配置 - 错误