public bool RefreshStoredProcedureParameters(string storedProcedureName) { if (string.IsNullOrWhiteSpace(storedProcedureName)) { throw new ArgumentNullException("storedProcedureName"); } using (DbCommand dbCmd = CreateCommand(storedProcedureName, 0, CommandType.StoredProcedure, null)) { return(DerivedParametersCache.DeriveParameters(dbCmd, null, true)); } }
// DataDirect Oracle Data Provider Connection String Options support: [ParameterMode = ANSI | BindByOrdinal | BindByName] #if (ODP_NET || ODP_NET_MANAGED) // ODP.NET /* * partial void OnOracleCommandCreating(DbCommand dbCmd, ref bool processed) * { * if (processed) * return; * * OracleCommand oraCmd = dbCmd as OracleCommand; * * if (oraCmd != null) * { * oraCmd.BindByName = true; * processed = true; * } * } */ partial void OnOracleReaderExecuting(DbCommand dbCmd, int resultSetCnt /* = 1 */, ref bool processed) { if (processed) { return; } OracleCommand oraCmd = dbCmd as OracleCommand; if (oraCmd != null) { if (oraCmd.CommandType == CommandType.StoredProcedure) { int cntRefCursorParam = oraCmd.Parameters.OfType <OracleParameter>().Count(p => p.OracleDbType == OracleDbType.RefCursor && p.Direction != ParameterDirection.Input); if (cntRefCursorParam < resultSetCnt) { if (oraCmd.BindByName || _AutoDeriveRefCursorParameters) { DerivedParametersCache.DeriveParameters(dbCmd, null, false); } else { for (; cntRefCursorParam < resultSetCnt; cntRefCursorParam++) { OracleParameter paramRefCursor = oraCmd.CreateParameter(); paramRefCursor.OracleDbType = OracleDbType.RefCursor; paramRefCursor.Direction = ParameterDirection.Output; paramRefCursor.Value = DBNull.Value; oraCmd.Parameters.Add(paramRefCursor); } } } } processed = true; } }
internal bool Derive(IDictionary <string, object> explicitParameters = null, bool refresh = false) { return(DerivedParametersCache.DeriveParameters(_DbCommand, explicitParameters, refresh)); }
public int RemoveCachedStoredProcedures(IEnumerable <string> storedProcedures) { return(DerivedParametersCache.RemoveStoredProcedures(_Connection, storedProcedures)); }
public ICollection <string> ListCachedStoredProcedures() { return(DerivedParametersCache.ListStoredProcedures(_Connection)); }