.net EntityFeamework上下文连接?为什么MSDTC起作用?

.net EntityFeamework上下文连接?为什么MSDTC起作用?,.net,entity-framework,msdtc,.net,Entity Framework,Msdtc,我是这样做的: 创建隔离级别为“已提交读取”的事务作用域 创建类DataServiceContext的实例(其中DataServiceContext:SessionContext:DbContext) 在DataServiceContext中的OnMaterialized事件中创建SessionContext实例(不要问为什么) 当我试图从会话上下文(在步骤3中创建)中获取一条记录时,我遇到了MSDTC错误 事情是这样的。我对使用MSDTC不感兴趣(我知道如何使用MSDTC工作)。我真的不知道为

我是这样做的:

  • 创建隔离级别为“已提交读取”的事务作用域

  • 创建类DataServiceContext的实例(其中DataServiceContext:SessionContext:DbContext)

  • 在DataServiceContext中的OnMaterialized事件中创建SessionContext实例(不要问为什么)

  • 当我试图从会话上下文(在步骤3中创建)中获取一条记录时,我遇到了MSDTC错误

    事情是这样的。我对使用MSDTC不感兴趣(我知道如何使用MSDTC工作)。我真的不知道为什么在应用程序中使用相同且唯一的连接字符串时,事务会被提升为分布式事务,而它不应该

    以下是来自两个上下文(步骤1和步骤2)的两个连接字符串:

    如果有人能帮助我了解这里的情况,我将不胜感激

    最好的
    Piotr Kołodziej

    您使用的是什么数据库和版本?您有没有找到解决此问题的方法?我也收到了这个错误,但我不想启动MSDTC服务。@Sunny如果你想避免使用MSDTC,只需将
    inclist=false
    添加到connectionstring即可。阅读更多关于它的信息
    data source=.;initial catalog=TEST;integrated security=true;MultipleActiveResultSets=True;App=EntityFramework
    
    data source=.;initial catalog=TEST;integrated security=true;MultipleActiveResultSets=True;App=EntityFramework