EF5和Ado.Net

时间:2013-03-20 22:34:52

标签: entity-framework-5 transactionscope

我有使用Ado.Net的现有代码,我正在考虑整合一些使用实体框架的新代码。作为概念验证,我想尝试使用BOTH ado.net和EF5进行交易操作。

我尝试使用TransactionScope,但由于我使用的是“两个连接”,因此我收到了有关正在提升的交易和DTC不可用的错误。

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

任何其他建议都表示赞赏。

BTW,我正在使用EF5数据库优先。

提前感谢您的帮助。

此致 特拉维斯

1 个答案:

答案 0 :(得分:0)

是的,但前提是您配置了分布式事务处理协调器(DTC)。 DTC交易比本地交易慢得多。

这可能有所帮助:

How do I enable MSDTC on SQL Server?

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

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