同僚とデータ アクセス コードを標準化しようとしています。前述の同僚の 1 人は、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を使用しています