在与Enterprise Library的开放连接中执行多个DbCommands

时间:2010-03-18 10:07:22

标签: ado.net enterprise-library

如何通过一个连接执行多个DbCommands?

示例:

var db = DatabaseFactory.CreateDatabase();
var dbCommand = db.GetSqlStringCommand(InsertCommandText);
...
db.ExecuteNonQuery(dbCommand);

现在,我希望能够执行多个dbCommands。例如伪代码:

var db = DatabaseFactory.CreateDatabase();
var dbCommand1 = db.GetSqlStringCommand(InsertCommandText);
...
var dbCommand1 = db.GetSqlStringCommand(InsertCommandText);
...
Adding both commands to db
Executing them

1 个答案:

答案 0 :(得分:1)

ExecuteNonQuery(DbCommand)的每次调用都可能使用新连接。如果您想确保始终使用相同的连接,则可以使用重载ExecuteNonQuery(DbCommand, DbTransaction)。如果传入事务,Enterprise Library将使用与事务关联的连接。当然,如果不需要,您可能不想使用交易。

也许知道你为什么只想使用一个连接会有所帮助吗?