1
我正在使用数据库来运行一些查询,并正在考虑优化一些东西。是Microsoft.Practices.EnterpriseLibrary.Data.Database.SetParameterValue线程安全吗?
我基本上是做两个静态对象:
private static Database db = ... ;
private static DbCommand cmd = db.GetSqlStringCommand("... where col = @colParam");
....
cmd.Prepare(); //one call
然后想只是做:
db.AddInParameter(cmd, "colParam", DbType.String, "some value on each call")
调用它时。
它只能工作一次。第一个电话后,我收到
变量名必须是批查询或存储过程
关于@colParam
参数的错误消息中是唯一的。
所以我当时在每次调用一组替换加思考:
db.SetParameterValue(cmd, "colParam", "some value on each call")
但是,这是安全的?我有这种感觉......?!?!?!?
线程安全吗只有一个命令对象可以在每个调用上设置值?如果两个用户同时设置价值会怎样?然后会发生什么?
错过了在文档中。感谢您指出! – user90210 2011-02-11 14:34:30