实体框架6在使用引用同一数据库的多个上下文时防止事务升级

本文关键字:上下文 事务 数据库 框架 引用 实体 | 更新日期: 2023-09-27 18:12:01

我遇到了一个问题,我找不到答案(或者我的谷歌技能真的很垃圾)。

我们的解决方案是一个ASP MVC4 c#网站和多个类库。我们使用MS SQL2008和EntityFramework 6。

假设我有Foo和Bar对象类型。Foo包含一个Bar对象。在拯救Foo之后,我必须拯救Bar。保存Foo和Bar的方法在不同的类库中定义,每个库都有自己的实体模型,其中包含来自相同基的相关模式的表。现在的问题是我使用事务,调用保存Bar的方法导致事务级别升级"MSDTC disabled"异常。

是否有一种方法可以避免使用MSDTC,并且仍然使用引用相同基础的不同实体模型?

实体框架6在使用引用同一数据库的多个上下文时防止事务升级

好的,我们找到了一个解决方案。首先,字符串必须完全相等(不包括元数据)。如果这没有帮助,请尝试使用TransactionHandler的相同实例来处理将FOO和BAR保存到数据库中的业务逻辑类。