我正在尝试使用{}在TransactionScope中使用多个EntityFramework 6 DataContexts。
我得到以下例外
mscorlib.dll中出现'System.Data.Entity.Core.EntityException'类型的第一次机会异常
其他信息:基础提供商在Open上失败。
内部异常1
已禁用分布式事务管理器(MSDTC)的网络访问。
请使用“组件服务管理”工具在MSDTC的安全配置中启用DTC以进行网络访问。
内部异常2
事务管理器已禁用其对远程/网络事务的支持。
(HRESULT的异常:0x8004D024)
没有TransactionScope,代码可以正常工作。
以下是我需要回答的问题:
将事务应用于同时使用的两个datacontexts的最佳方法是什么?我做错了什么?
答案 0 :(得分:1)
不是EF阻止你,而是DTC。使用两个或多个同时连接到MSSQL时需要DTC。
请参阅http://msdn.microsoft.com/en-us/library/dd327979.aspx
PS。重复MSDTC issue with transactions in ADO.NET Entity Framework