我知道 Linq to Sql DataContexts 可以使用 TransactionScope 方式参与事务,该方式设置 DataContext 自动登记的环境事务。
但是我需要使用一个使用 CommittableTransaction 对象的显式事务。我也知道我可以将 DataContext 上的 DbTransaction 属性显式设置为事务对象,这也可以达到我的目的,但我有兴趣找到让 DataContext 加入 CommittableTransaction 的方法。
在使用 TransactionScope 时,必须有某种方法,设置环境 Transaction 并且 DataContext 加入它。甚至 SqlConnection 对象也公开了用于登记到 CommittableTransaction 的 EnlistTransaction 方法。但是,我无法找到一种方法让 DataContext 显式加入 CommittableTransaction。