谁能更新我这个话题?
我想在我的应用程序中同时支持 SQL Server 和 Oracle。
是否可以让以下代码(在 BL 中)同时适用于 SQL Server 和 Oracle,而无需升级/跨越到分布式事务(DTC)?
// dbcontext is created before, same dbcontext will be used by both repositories
using (var ts = new TransactionScope())
{
// create order - make use of dbcontext, possibly to call SaveChanges here
orderRepository.CreateOrder(order);
// update inventory - make use of same dbcontext, possibly to call SaveChanges here
inventoryRepository.UpdateInventory(inventory);
ts.Complete();
}
截至今天,2013 年 8 月结束,我知道它适用于 SQL Server 2008+ ......但是 Oracle 呢?我找到了这个线程......看起来Oracle正在推广分布式事务,但我仍然不清楚。
有没有人有使用实体框架编写应用程序来支持 SQL Server 和 Oracle 的经验来启发我?
谢谢!
更新:最后我注意到 EF6 带有改进的事务支持。除了 Remus 的建议之外,这可能是我的解决方案。