这就是我的所作所为:
使用隔离级别创建事务范围 - 读取提交。
创建类DataServiceContext的实例(其中DataServiceContext:SessionContext:DbContext)。
- 醇>
在DataServiceContext中的OnMaterialized事件中创建SessionContext的实例(不要问为什么)。
当我尝试从会话上下文(在步骤3中创建)中获取单个记录时,我收到MSDTC错误。
这就是事情。我对使用MSDTC不感兴趣(我知道如何使用MSDTC使其工作)。我真的没有IDEA为什么在应用程序中使用相同且唯一的连接字符串,事务被提升为分布式事务,而它不应该。
以下是来自两个上下文的两个连接字符串(来自步骤1和步骤2):
data source=.;initial catalog=TEST;integrated security=true;MultipleActiveResultSets=True;App=EntityFramework
data source=.;initial catalog=TEST;integrated security=true;MultipleActiveResultSets=True;App=EntityFramework
如果有人帮助我理解这里的情况,我真的很感激。
最佳PiotrKołodziej