/// <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()); }
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(); }
public void Commented() { Configuration cfg = new Configuration(); ISessionFactory factory = cfg.BuildSessionFactory(); ISessionFactoryImplementor factoryImpl = (ISessionFactoryImplementor)factory; SqlInsertBuilder insert = new SqlInsertBuilder(factoryImpl); insert.SetTableName("test_insert_builder"); insert.AddColumn("stringColumn", "aSQLValue", (ILiteralType)NHibernateUtil.String); insert.SetComment("Test insert"); string expectedSql = "/* Test insert */ INSERT INTO test_insert_builder (stringColumn) VALUES ('aSQLValue')"; Assert.AreEqual(expectedSql, insert.ToSqlString().ToString(), "SQL String"); }