嘿,我有一个独特而令人不安的情况。
我正在做一个项目,我的团队混合使用了企业数据库和实体框架。显然这可能不推荐,但这是我坚持的。我想采用使用企业数据库编写的方法,也采用使用实体框架编写的不同方法,并将这两种方法包装在一个事务中(不需要 Microsoft 分布式事务服务)。我希望尽量减少重写代码,并能够将这两种方法原样包装在一个事务中。这可能吗?谢谢。
使用 SQL Server 2008 和 .NET 4.0
嘿,我有一个独特而令人不安的情况。
我正在做一个项目,我的团队混合使用了企业数据库和实体框架。显然这可能不推荐,但这是我坚持的。我想采用使用企业数据库编写的方法,也采用使用实体框架编写的不同方法,并将这两种方法包装在一个事务中(不需要 Microsoft 分布式事务服务)。我希望尽量减少重写代码,并能够将这两种方法原样包装在一个事务中。这可能吗?谢谢。
使用 SQL Server 2008 和 .NET 4.0
我想您想在TransactionScope
不使用 DTC 的情况下将 EF 和 EntLib 查询混合在一起。
好消息:这是可能的。如果您对 EntLib DAAB 和 EF DbContext 使用完全相同的连接字符串,它将起作用,具体取决于 EF、EntLib 和 SQL Server 的版本。
所以你要做的是:
对于 1,我检查了这些组合:
对于 2,要让 EF 更改连接字符串,您必须调试使用 DbContext 实例的代码的执行。设置断点并观察或检查 DbContextDatabase.Connection.ConnectionString
属性。那是连接字符串的 EF 版本。将它用于 EF 和 EntLib,您将摆脱 DTC。