首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架4的事务问题

实体框架4的事务问题
EN

Stack Overflow用户
提问于 2010-09-29 12:47:49
回答 1查看 2.8K关注 0票数 1

我试图用实体框架4实现一个事务。据我所读,下面的代码是正确的。SaveChanges工作正常,但当我第一次调用ExecuteFunction时,就会得到以下异常:

基础提供程序

在打开时失败。- System.Transactions.TransactionManagerCommunicationException:网络访问分布式事务管理器(MSDTC)已被禁用.请使用组件服务管理工具在MSDTC的安全配置中启用用于网络访问的DTC。

我已经登录到数据库服务器,我没有看到一个名为分布式事务管理器()的服务,但是我确实看到了分布式事务协调器,并且它已经启动。我不知道我需要改变什么才能让它起作用。有人知道吗?谢谢。

这是密码。

代码语言:javascript
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-29 13:12:55

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3821689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档