Ich versuche, einen Datenzugriffscode mit meinen Kollegen zu standardisieren. Einer der zuvor genannten Kollegen behauptet, dass der EntLib-Datenzugriffsblock versucht, Parameter bei gespeicherten Proc-Aufrufen zu cachen.Enterprise-Bibliothek Caching-Parameter auf gespeicherten Procs?
Ich habe in Reflektor gesehen und es gibt einige Beweise, dass es sie caching sein könnte. Aber ich denke nicht es tut in der folgenden Situation.
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;
}
Kann jemand bestätigen oder ablehnen?
Ich verwende EntLib 4.1
By the way, gibt es keine Notwendigkeit, einen Reflektor zu verwenden, um zu sehen, kommt EntLib mit dem all Quellcode . Du kannst die Quelle installieren und direkt hineingehen. :) –
Guter Punkt Danke! Ich werde das überprüfen. –