【发布时间】:2010-10-16 19:54:17
【问题描述】:
我正在尝试与我的同事标准化一些数据访问代码。上述一位同事断言 EntLib 数据访问块试图缓存存储过程调用的参数。
我查看了反射器,有一些证据表明它可能正在缓存它们。但我不认为在以下情况下会这样做。
public Dictionary<long, string> GetQueue(int maxItems)
{
var sq = new SqlDatabase(_connString.ConnectionString);
var result = new Dictionary<long, string>();
using (var cmd = (SqlCommand)sq.GetStoredProcCommand("dbo.GetQueue"))
{
sq.AddInParameter(cmd, "maxItems", DbType.Int32, maxItems);
var reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
long id = reader.GetInt64(reader.GetOrdinal("id"));
string fileName = reader.GetString(reader.GetOrdinal("meta_data_filename"));
result.Add(id, fileName);
}
}
return result;
}
谁能证实或否认这一点?
我正在使用 EntLib 4.1
【问题讨论】:
-
对了,不用反光板看,EntLib自带了所有的源代码。您可以安装源代码并直接进入。:)
-
好点谢谢!我会检查一下。
标签: c# stored-procedures data-access-layer enterprise-library