【问题标题】:transaction problem with entity framework 4实体框架 4 的交易问题
【发布时间】:2010-09-29 12:47:49
【问题描述】:

我正在尝试使用实体框架 4 实现事务。根据我的阅读,下面的代码是正确的。 SaveChanges 工作正常,但只要我点击第一个 ExecuteFunction 调用,我就会收到以下异常:

基础提供程序失败 打开。 ---> System.Transactions.TransactionManagerCommunicationException: 分布式网络访问 事务管理器 (MSDTC) 禁用。请为 DTC 启用 安全中的网络访问 使用 MSDTC 配置 组件服务管理 工具。

我已登录到数据库服务器,但没有看到名为 Distributed Transaction Manager 的服务,但确实看到了 Distributed Transaction Coordinator 并且它已启动。我不确定我需要进行哪些更改才能使其正常工作。有人知道吗?谢谢。

这是代码。

using (var h = new WhaleEntities(ConnectionHelper.DBConnectString))
{
    using (TransactionScope ts = new TransactionScope())
    {
        h.Sites.AddObject(s);
        h.SaveChanges(SaveOptions.DetectChangesBeforeSave); 
        retval = s.SiteID;

        h.ExecuteFunction("UpdateSiteInterfaceList", new ObjectParameter("pSiteID", retval), new ObjectParameter("pList", "10"));
        h.ExecuteFunction("UpdateSiteInterfaceRequiredList", new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "Email"));
        h.ExecuteFunction("UpdateSiteInterfaceAlwaysShownList", new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "10"));
        h.ExecuteFunction("UpdateSiteInterfaceAlwaysRequiredList",new ObjectParameter("pSiteID", retval),new ObjectParameter("pList", "Email"));

        ts.Complete();

        //changes must be accepted manually once transaction succeeds.
        h.AcceptAllChanges();
    }
}

【问题讨论】:

    标签: entity-framework msdtc


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      相关资源
      最近更新 更多