1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| public static ObjectCollectionCache LoadFromOracleReader(String sp, ListDictionary Parameters)
{
ObjectCollectionCache result;
var entityConnection = (System.Data.EntityClient.EntityConnection)ctx.Connection; //(recuperer du contexte, une autre classe)
DbConnection conn = entityConnection.StoreConnection;
ConnectionState initialState = conn.State;
try
{
if (initialState != ConnectionState.Open) conn.Open();
using (DbCommand cmd = conn.CreateCommand())
{
IDataParameter p;
if (Parameters != null)
{
foreach (DictionaryEntry param in Parameters)
{
p = param.Key as IDataParameter;
if (p == null)
{
p = CreateIDataParameter((string)param.Key, param.Value);
}
else
{
p.Value = param.Value;
}
cmd.Parameters.Add(p);
}
}
cmd.CommandText = sp;
cmd.CommandType = CommandType.StoredProcedure;
DbDataReader reader = cmd.ExecuteReader();
result = new ObjectCollectionCache(reader);
}
}
finally
{
if (initialState != ConnectionState.Open)
conn.Close();
}
return result;
} |
Partager