/// <summary>
        /// Generate the SQL INSERT that creates a new row
        /// </summary>
        /// <returns></returns>
        protected override SqlCommandInfo GenerateInsertRowString()
        {
            SqlInsertBuilder insert = new SqlInsertBuilder(Factory)
                                      .SetTableName(qualifiedTableName)
                                      .AddColumns(KeyColumnNames, null, KeyType);

            if (hasIdentifier)
            {
                insert.AddColumns(new string[] { IdentifierColumnName }, null, IdentifierType);
            }

            if (HasIndex)
            {
                insert.AddColumns(IndexColumnNames, indexColumnIsSettable, IndexType);
            }

            if (Factory.Settings.IsCommentsEnabled)
            {
                insert.SetComment("insert collection row " + Role);
            }

            insert.AddColumns(ElementColumnNames, elementColumnIsSettable, ElementType);

            return(insert.ToSqlCommandInfo());
        }
Пример #2
0
        protected override SqlCommandInfo GenerateIdentityInsertRowString()
        {
            // NH specific to manage identity for id-bag (NH-364)
            SqlInsertBuilder insert = identityDelegate.PrepareIdentifierGeneratingInsert();
            insert.SetTableName(qualifiedTableName).AddColumns(KeyColumnNames, null, KeyType);

            if (HasIndex)
                insert.AddColumns(IndexColumnNames, null, IndexType);

            insert.AddColumns(ElementColumnNames, elementColumnIsSettable, ElementType);

            if (Factory.Settings.IsCommentsEnabled)
                insert.SetComment("insert collection row " + Role);

            return insert.ToSqlCommandInfo();
        }