本文整理汇总了C#中NHibernate.SqlCommand.SelectFragment.ToSqlStringFragment方法的典型用法代码示例。如果您正苦于以下问题:C# SelectFragment.ToSqlStringFragment方法的具体用法?C# SelectFragment.ToSqlStringFragment怎么用?C# SelectFragment.ToSqlStringFragment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NHibernate.SqlCommand.SelectFragment
的用法示例。
在下文中一共展示了SelectFragment.ToSqlStringFragment方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PropertySelectFragment
public string PropertySelectFragment(string name, string suffix, bool allProperties)
{
SelectFragment select = new SelectFragment(Factory.Dialect)
.SetSuffix(suffix)
.SetUsedAliases(IdentifierAliases);
int[] columnTableNumbers = SubclassColumnTableNumberClosure;
string[] columnAliases = SubclassColumnAliasClosure;
string[] columns = SubclassColumnClosure;
for (int i = 0; i < columns.Length; i++)
{
bool selectable = (allProperties || !subclassColumnLazyClosure[i]) &&
!IsSubclassTableSequentialSelect(columnTableNumbers[i]) &&
subclassColumnSelectableClosure[i];
if (selectable)
{
string subalias = GenerateTableAlias(name, columnTableNumbers[i]);
select.AddColumn(subalias, columns[i], columnAliases[i]);
}
}
int[] formulaTableNumbers = SubclassFormulaTableNumberClosure;
string[] formulaTemplates = SubclassFormulaTemplateClosure;
string[] formulaAliases = SubclassFormulaAliasClosure;
for (int i = 0; i < formulaTemplates.Length; i++)
{
bool selectable = (allProperties || !subclassFormulaLazyClosure[i]) &&
!IsSubclassTableSequentialSelect(formulaTableNumbers[i]);
if (selectable)
{
string subalias = GenerateTableAlias(name, formulaTableNumbers[i]);
select.AddFormula(subalias, formulaTemplates[i], formulaAliases[i]);
}
}
if (entityMetamodel.HasSubclasses)
AddDiscriminatorToSelect(select, name, suffix);
if (HasRowId)
select.AddColumn(name, rowIdName, Loadable.RowIdAlias);
return select.ToSqlStringFragment();
}
示例2: PropertySelectFragment
public override SqlString PropertySelectFragment( string alias, string suffix )
{
SelectFragment frag = new SelectFragment( factory.Dialect )
.SetSuffix( suffix )
.SetUsedAliases( IdentifierAliases );
for( int i = 0; i < subclassColumnClosure.Length; i++ )
{
string subalias = Alias( alias, subclassColumnTableNumberClosure[ i ] );
frag.AddColumn( subalias, subclassColumnClosure[ i ], subclassColumnClosureAliases[ i ] );
}
for( int i = 0; i < subclassFormulaTemplateClosure.Length; i++ )
{
string subalias = Alias( alias, subclassFormulaTableNumberClosure[ i ] );
frag.AddFormula( subalias, subclassFormulaTemplateClosure[ i ], subclassFormulaAliasClosure[ i ] );
}
if( HasSubclasses )
{
SqlStringBuilder builder = new SqlStringBuilder( 3 );
builder.Add( StringHelper.CommaSpace );
builder.Add(
DiscriminatorFragment( alias )
.SetReturnColumnName( DiscriminatorAlias, suffix )
.ToSqlStringFragment()
);
builder.Add( frag.ToSqlStringFragment() );
return builder.ToSqlString();
}
else
{
return frag.ToSqlStringFragment();
}
}
示例3: ConcretePropertySelectFragment
private SqlString ConcretePropertySelectFragment( string alias, bool[] includeProperty )
{
int propertyCount = propertyColumnNames.Length;
SelectFragment frag = new SelectFragment( Dialect );
for( int i = 0; i < propertyCount; i++ )
{
if( includeProperty[ i ] )
{
frag.AddColumns(
Alias( alias, propertyTables[ i ] ),
propertyColumnNames[ i ],
propertyColumnNameAliases[ i ] );
}
}
return frag.ToSqlStringFragment( );
}
示例4: SelectFragment
public SqlString SelectFragment( string alias )
{
SelectFragment frag = new SelectFragment( dialect )
.SetSuffix( String.Empty ) //always ignore suffix for collection columns
.AddColumns( alias, keyColumnNames, keyColumnAliases )
.AddColumns( alias, elementColumnNames, elementColumnAliases );
if( hasIndex )
{
frag.AddColumns( alias, indexColumnNames, indexColumnAliases );
}
if( hasIdentifier )
{
frag.AddColumn( alias, identifierColumnName, identifierColumnAlias );
}
return frag.ToSqlStringFragment( false );
}
示例5: ConcretePropertySelectFragment
// TODO NH: should remove duplication between this and the other overload,
// probably using H3 approach (adding indirection through IInclusionChecker interface).
protected string ConcretePropertySelectFragment(string alias, ValueInclusion[] inclusions)
{
int propertyCount = entityMetamodel.PropertySpan;
int[] propertyTableNumbers = PropertyTableNumbersInSelect;
SelectFragment frag = new SelectFragment(Factory.Dialect);
for (int i = 0; i < propertyCount; i++)
{
if (inclusions[i] != ValueInclusion.None)
{
//ie. updateable, not a formula
frag.AddColumns(
GenerateTableAlias(alias, propertyTableNumbers[i]),
propertyColumnNames[i],
propertyColumnAliases[i]
);
frag.AddFormulas(
GenerateTableAlias(alias, propertyTableNumbers[i]),
propertyColumnFormulaTemplates[i],
propertyColumnAliases[i]
);
}
}
return frag.ToSqlStringFragment();
}
示例6: PropertySelectFragment
public string PropertySelectFragment(string name, string suffix)
{
SelectFragment select = new SelectFragment(Factory.Dialect)
.SetSuffix(suffix)
.SetUsedAliases(IdentifierAliases);
int[] columnTableNumbers = SubclassColumnTableNumberClosure;
string[] columnAliases = SubclassColumnAliasClosure;
string[] columns = SubclassColumnClosure;
for (int i = 0; i < columns.Length; i++)
{
string subalias = Alias(name, columnTableNumbers[i]);
select.AddColumn(subalias, columns[i], columnAliases[i]);
}
int[] formulaTableNumbers = SubclassFormulaTableNumberClosure;
string[] formulaTemplates = SubclassFormulaTemplateClosure;
string[] formulaAliases = SubclassFormulaAliasClosure;
for (int i = 0; i < formulaTemplates.Length; i++)
{
string subalias = Alias(name, formulaTableNumbers[i]);
select.AddFormula(subalias, formulaTemplates[i], formulaAliases[i]);
}
if (HasSubclasses)
{
AddDiscriminatorToSelect(select, name, suffix);
}
return select.ToSqlStringFragment();
}