public static IEnumerable <T> ExecuteQuery <T>(string ProcedureName, Dictionary <string, string> parameters = null) { IEnumerable <T> ReturnResult; using (DBModel dbContext = new DBModel()) { if (parameters != null) { List <DbParameter> paramters_items = new List <DbParameter>(); foreach (KeyValuePair <string, string> item in parameters) { DbParameter NewParameter = new OAParameter { ParameterName = item.Key, Value = item.Value }; paramters_items.Add(NewParameter); } DbParameter[] dbparams = paramters_items.ToArray(); ReturnResult = dbContext.ExecuteQuery <T>(ProcedureName, CommandType.StoredProcedure, dbparams); } else { ReturnResult = dbContext.ExecuteQuery <T>(ProcedureName, CommandType.StoredProcedure); } } return(ReturnResult); }