/// <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);
        }
示例#7
0
 /// <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));
 }
示例#8
0
 /// <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)));
 }
示例#9
0
        /// <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));
        }