0

我有使用 Ado.Net 的现有代码,并且正在考虑集成一些使用实体框架 5 的新代码。作为概念证明,我想尝试使用 ado.net 和 EF5 进行事务操作。

我尝试使用 TransactionScope,但是当我使用“两个连接”时,我收到关于正在提升的事务的错误并且 DTC 不可用。

我可以让 Ado.Net 和 EF5 使用相同的连接来避免上述问题吗?如果是这样,任何代码示例....

任何其他建议表示赞赏。

顺便说一句,我首先使用的是 EF5 数据库。

提前感谢您的帮助。

问候,特拉维斯

4

1 回答 1

0

可以,但前提是您配置了分布式事务协调器 (DTC)。DTC 事务比本地事务慢得多。

这可能会有所帮助:

如何在 SQL Server 上启用 MSDTC?

另一种选择是获取 EntityConnection 对象并获取 SqlConnection 并在您的 ADO.NET 命令中使用它,但您必须小心这一点,因为如果包含实体被释放,则连接可能会关闭。

或者,您可以在创建时将 EntityConnection 传递给上下文,从而允许对两者使用相同的连接。

于 2013-03-20T22:44:10.797 回答