Sta*_*lfi 9 c# entity-framework transactions
DbConnection.EnlistTransaction有什么作用?
DbConnection.EnlistTransaction 允许:
System.Transactions.Transaction.它有一些限制:
System.Data.Common.DbTransaction),则它可能会因异常而失败.(这似乎取决于具体的连接实现:Firebird 2在这种情况下不会抛出异常,SqlConnection并且可能大多数其他人都抛出异常.)System.Transactions.Transaction,并且此另一个事务仍处于活动状态,则它将失败并出现异常.SqlConnection,OleDbConnection和OdbcConnection.DbConnection实现可能有所不同.例如,HanaConnection(在HANA 2 SP3中)抛出这种情况,这对于在其连接字符串中未禁用连接自动登记时始终明确登记的代码非常不方便.OdbcConnection.)null作为事务提供.SqlCeConnection,抛出a NullReferenceException,并且SQLiteConnection(至少高达v1.0.105)会抛出一个ArgumentNullException.DbConnection.EnlistTransaction通常用于System.Transactions.Transaction.Current.如果TransactionScope在以下情况下获取(打开)连接,则不需要使用它.在这种情况下,连接会自动在当前事务中登记(除非其连接字符串另有规定enlist=false).但是再一次,一些连接实现也可能在这里有所不同:有些连接默认情况下没有启用自动登记,并且它的语义非常不同(比如6.0版本之前的FbConnection),或者使用不同的连接字符串参数(如MySqlConnection使用AutoEnlist).
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |