我正在尝试与我的同事标准化一些数据访问代码。上述一位同事断言 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