/// <summary> /// Adds the columns for the Type to the WhereFragment /// </summary> /// <param name="columnNames">The names of the columns to add.</param> /// <param name="type">The IType of the property.</param> /// <param name="op">The operator to put between the column name and value.</param> /// <returns>The SqlDeleteBuilder</returns> public SqlDeleteBuilder AddWhereFragment(string[] columnNames, IType type, string op) { Parameter[] parameters = Parameter.GenerateParameters(Mapping, columnNames, type); whereStrings.Add(ToWhereString(columnNames, parameters, op)); return(this); }
/// <summary> /// Sets the VersionColumn for the <c>DELETE</c> sql to use. /// </summary> /// <param name="columnNames">An array of the column names for the Property</param> /// <param name="versionType">The IVersionType of the Version Property.</param> /// <returns>The SqlDeleteBuilder.</returns> public SqlDeleteBuilder SetVersionColumn(string[] columnNames, IVersionType versionType) { Parameter[] parameters = Parameter.GenerateParameters(Mapping, columnNames, versionType); versionFragmentIndex = whereStrings.Add(ToWhereString(columnNames, parameters)); return(this); }
/// <summary> /// Sets the IdentityColumn for the <c>DELETE</c> sql to use. /// </summary> /// <param name="columnNames">An array of the column names for the Property</param> /// <param name="identityType">The IType of the Identity Property.</param> /// <returns>The SqlDeleteBuilder.</returns> public SqlDeleteBuilder SetIdentityColumn(string[] columnNames, IType identityType) { Parameter[] parameters = Parameter.GenerateParameters(Mapping, columnNames, identityType); identityFragmentIndex = whereStrings.Add(ToWhereString(columnNames, parameters)); return(this); }
/// <summary> /// /// </summary> /// <param name="alias"></param> /// <param name="columns"></param> /// <param name="condition"></param> /// <param name="conditionType"></param> /// <param name="factory"></param> public override void AddCondition(string alias, string[] columns, string condition, IType conditionType, ISessionFactoryImplementor factory) { Parameter[] parameters = Parameter.GenerateParameters(factory, alias, columns, conditionType); for (int i = 0; i < columns.Length; i++) { conditions.Add(" and " + alias + StringHelper.Dot + columns[i] + condition); conditions.Add(parameters[i]); } }
/// <summary> /// Adds the columns for the Type to the WhereFragment /// </summary> /// <param name="columnNames">The names of the columns to add.</param> /// <param name="type">The IType of the property.</param> /// <param name="op">The operator to put between the column name and value.</param> /// <returns>The SqlUpdateBuilder</returns> public SqlUpdateBuilder AddWhereFragment(string[] columnNames, IType type, string op) { if (columnNames.Length > 0) { // Don't add empty conditions - we get extra ANDs Parameter[] parameters = Parameter.GenerateParameters(Mapping, columnNames, type); whereStrings.Add(ToWhereString(columnNames, parameters, op)); } return(this); }
/// <summary> /// Adds the Property's columns to the INSERT sql /// </summary> /// <param name="columnNames">An array of the column names for the Property</param> /// <param name="propertyType">The IType of the property.</param> /// <returns>The SqlInsertBuilder.</returns> public SqlInsertBuilder AddColumn(string[] columnNames, IType propertyType) { Parameter[] parameters = Parameter.GenerateParameters(factory, columnNames, propertyType); for (int i = 0; i < columnNames.Length; i++) { this.columnNames.Add(columnNames[i]); columnValues.Add(parameters[i]); } return(this); }
/// <summary> /// Generates an Array of Parameters for the columns that make up the IType /// </summary> /// <param name="columnNames">The names of the Columns that compose the IType</param> /// <param name="type">The IType to turn into Parameters</param> /// <param name="factory"></param> /// <returns>An Array of <see cref="Parameter"/> objects</returns> public static Parameter[] GenerateParameters(IMapping factory, string[] columnNames, IType type) { return(Parameter.GenerateParameters(factory, null, columnNames, type)); }
/// <summary> /// Sets the criteria to use for the WHERE. It joins all of the columnNames together with an AND. /// </summary> /// <param name="tableAlias"></param> /// <param name="columnNames">The names of the columns</param> /// <param name="whereType">The Hibernate Type</param> /// <returns>The SqlSelectBuilder</returns> public SqlSelectBuilder SetWhereClause(string tableAlias, string[] columnNames, IType whereType) { Parameter[] parameters = Parameter.GenerateParameters(Mapping, tableAlias, columnNames, whereType); return(this.SetWhereClause(ToWhereString(tableAlias, columnNames, parameters))); }
/// <summary> /// /// </summary> /// <param name="alias"></param> /// <param name="columnNames"></param> /// <param name="whereType"></param> /// <returns></returns> public SqlString WhereClause(string alias, string[] columnNames, IType whereType) { Parameter[] parameters = Parameter.GenerateParameters(Mapping, alias, columnNames, whereType); return(ToWhereString(alias, columnNames, parameters)); }