【问题标题】:Can multiple Entity Framework Data Contexts be used within a single TransactionScope?可以在单个 TransactionScope 中使用多个实体框架数据上下文吗?
【发布时间】:2013-12-14 00:56:05
【问题描述】:

我正在尝试使用{} 在 TransactionScope 中使用多个 EntityFramework 6 DataContexts。

我得到以下异常

在 mscorlib.dll 中发生了“System.Data.Entity.Core.EntityException”类型的第一次机会异常

附加信息:底层提供程序在打开时失败。

内部异常 1

分布式事务管理器 (MSDTC) 的网络访问已被禁用。

请使用组件服务管理工具在 MSDTC 的安全配置中启用 DTC 以进行网络访问。

内部异常 2

事务管理器已禁用对远程/网络事务的支持。

(来自 HRESULT 的异常:0x8004D024)

代码在没有 TransactionScope 的情况下可以正常工作。

以下是我需要回答的问题:

将事务应用于同时使用的两个数据上下文的最佳方式是什么?我做错了什么?

【问题讨论】:

  • 什么版本的 .NET?
  • 你能发布你的代码吗?
  • 上下文是否针对不同的数据库?
  • 不同的数据库和不同的服务器。

标签: c# .net entity-framework transactionscope


【解决方案1】:

阻止您的不是 EF,而是 DTC。使用两个或多个同时连接到 MSSQL 时需要 DTC。

http://msdn.microsoft.com/en-us/library/dd327979.aspx

ps。 MSDTC issue with transactions in ADO.NET Entity Framework的副本

【讨论】:

  • 我在问这个问题之前已经尝试过了,最初做错了。我今天又试了一次,它解决了这个问题。谢谢你的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多