我有使用Ado.Net的现有代码,我正在考虑整合一些使用实体框架的新代码。作为概念验证,我想尝试使用BOTH ado.net和EF5进行交易操作。
我尝试使用TransactionScope,但由于我使用的是“两个连接”,因此我收到了有关正在提升的交易和DTC不可用的错误。
我可以让Ado.Net和EF5使用相同的连接以避免上述问题吗?如果是这样,任何代码示例......
任何其他建议都表示赞赏。
BTW,我正在使用EF5数据库优先。
提前感谢您的帮助。
此致 特拉维斯
答案 0 :(得分:0)
是的,但前提是您配置了分布式事务处理协调器(DTC)。 DTC交易比本地交易慢得多。
这可能有所帮助:
How do I enable MSDTC on SQL Server?
另一种选择是获取EntityConnection对象并获取SqlConnection并在ADO.NET命令中使用它,但是您必须小心,因为如果放置包含实体,则可以关闭连接。
或者您可以在创建EntityConnection时将其传递给上下文,从而允许同时使用相同的连接。