C# 如何使用Enterprise Library 5.0实现use System.Transactions.Transaction?
我想将System.Transactions.Transaction与企业库5.0一起使用。企业库允许通过Execute*函数传递System.Data.Common.DbTransaction类型。它试图将System.Transactions.Transaction转换为System.Data.Common.DbTransaction,但运气不佳 代码:C# 如何使用Enterprise Library 5.0实现use System.Transactions.Transaction?,c#,.net,transactions,enterprise-library,C#,.net,Transactions,Enterprise Library,我想将System.Transactions.Transaction与企业库5.0一起使用。企业库允许通过Execute*函数传递System.Data.Common.DbTransaction类型。它试图将System.Transactions.Transaction转换为System.Data.Common.DbTransaction,但运气不佳 代码: Database db = null; object returnValue; Transaction ambientTransactio
Database db = null;
object returnValue;
Transaction ambientTransaction = Transaction.Current;
db = DatabaseFactory.CreateDatabase(MainConnection);
returnValue = db.ExecuteScalar((DbTransaction)ambientTransaction, procedureName, parameterValues);
如何在企业库5.0中使用System.Transactions.Transaction 看起来您不需要显式地传递它,支持是从3.0及更高版本内置到企业库中的。它查找当前事务并在可用时使用它。在上找到答案 尝试以下操作:
Database db = null;
object returnValue;
using (TransactionScope transaction = new TransactionScope())
{
db = DatabaseFactory.CreateDatabase(MainConnection);
returnValue = db.ExecuteScalar(procedureName, parameterValues);
transaction.Complete();
}
询问您的执行官您正在执行或希望通过的查询类型。。插入、更新、删除。。。?如果db.ExecuteOnQuery是可访问的,那么什么不可以查看呢?基本上就是我做的。我发现我不必通过交易。