/// <summary> /// Gets the query condition. /// </summary> /// <returns></returns> public string GetQueryCondition(string alias, string ownerFilter, string aliasObjectName) { //const string param1 = ":ownername"; //const string param2 = ":tablename"; string param1 = OwnerNames == null ? null : "'" + string.Join("','", OwnerNames) + "'"; string param2 = TableNames == null ? null : "'" + string.Join("','", TableNames) + "'"; string param3 = ProcedureNames == null ? null : "'" + string.Join("','", ProcedureNames) + "'"; DbParams.Clear(); string s = string.Empty; List <string> tags = new List <string> { " ", " AND ", " AND " }; List <string> conditions = new List <string>(); if (OwnerNames != null && OwnerNames.Any()) { DbParams.Add(OracleContext.Manager.CreateParameter(param1, ParameterDirection.Input, "'" + string.Join("','", OwnerNames) + "'")); conditions.Add(string.Format(alias + "." + ownerFilter + " IN (" + param1 + ")")); } if (TableNames != null && TableNames.Any()) { DbParams.Add(OracleContext.Manager.CreateParameter(param2, ParameterDirection.Input, "'" + string.Join("','", TableNames) + "'")); conditions.Add(alias + ".TABLE_NAME IN (" + param2 + ")"); } if (ProcedureNames != null && ProcedureNames.Any()) { DbParams.Add(OracleContext.Manager.CreateParameter(param3, ParameterDirection.Input, "'" + string.Join("','", ProcedureNames) + "'")); conditions.Add(string.Format(alias + "." + aliasObjectName + " IN (" + param3 + ")")); } // additionner toutes les conditions dans la requete int i = 0; foreach (string cond in conditions) { s += (tags[i++] + cond); } return(s); }
/// <inheritdoc /> public virtual bool HasTable(string tableName) => TableNames.Any(t => string.Equals(tableName, t, TableNameComparison));