当前位置: 首页>>代码示例>>C#>>正文


C# IOuterJoinLoadable.FromTableFragment方法代码示例

本文整理汇总了C#中IOuterJoinLoadable.FromTableFragment方法的典型用法代码示例。如果您正苦于以下问题:C# IOuterJoinLoadable.FromTableFragment方法的具体用法?C# IOuterJoinLoadable.FromTableFragment怎么用?C# IOuterJoinLoadable.FromTableFragment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IOuterJoinLoadable的用法示例。


在下文中一共展示了IOuterJoinLoadable.FromTableFragment方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InitStatementString

		private void InitStatementString(IOuterJoinLoadable elementPersister, string alias, int batchSize, SqlString subquery)
		{
			int joins = CountEntityPersisters(associations);
			Suffixes = BasicLoader.GenerateSuffixes(joins + 1);

			int collectionJoins = CountCollectionPersisters(associations) + 1;
			CollectionSuffixes = BasicLoader.GenerateSuffixes(joins + 1, collectionJoins);

			SqlStringBuilder whereString = WhereString(alias, oneToManyPersister.KeyColumnNames, subquery, batchSize);
			string filter = oneToManyPersister.FilterFragment(alias, EnabledFilters);
			whereString.Insert(0, StringHelper.MoveAndToBeginning(filter));

			JoinFragment ojf = MergeOuterJoins(associations);
			SqlSelectBuilder select =
				new SqlSelectBuilder(Factory).SetSelectClause(
					oneToManyPersister.SelectFragment(null, null, alias, Suffixes[joins], CollectionSuffixes[0], true)
					+ SelectString(associations)).SetFromClause(elementPersister.FromTableFragment(alias)
					                                            + elementPersister.FromJoinFragment(alias, true, true)).SetWhereClause(
					whereString.ToSqlString()).SetOuterJoins(ojf.ToFromFragmentString,
					                                         ojf.ToWhereFragmentString
					                                         + elementPersister.WhereJoinFragment(alias, true, true));

			select.SetOrderByClause(OrderBy(associations, oneToManyPersister.GetSQLOrderByString(alias)));

			if (Factory.Settings.IsCommentsEnabled)
			{
				select.SetComment("load one-to-many " + oneToManyPersister.Role);
			}

			SqlString = select.ToSqlString();
		}
开发者ID:Mrding,项目名称:Ribbon,代码行数:31,代码来源:OneToManyJoinWalker.cs

示例2: InitStatementString

		private void InitStatementString(
			IQueryableCollection collPersister,
			IOuterJoinLoadable persister,
			string alias,
			IList associations,
			int batchSize,
			ISessionFactoryImplementor factory
			)
		{
			int joins = associations.Count;

			Suffixes = GenerateSuffixes( joins + 1 );

			SqlStringBuilder whereSqlString = WhereString( factory, alias, collPersister.KeyColumnNames, collPersister.KeyType, batchSize );

			if( collectionPersister.HasWhere )
			{
				whereSqlString
					.Add( " and " )
					.Add( collectionPersister.GetSQLWhereString( alias ) );
			}

			JoinFragment ojf = MergeOuterJoins( associations );

			SqlSelectBuilder select = new SqlSelectBuilder( factory )
				.SetSelectClause(
					collectionPersister.SelectFragment( alias, Suffixes[ joins ], true ).ToString() +
					SelectString( associations, factory )
				)
				.SetFromClause(
					persister.FromTableFragment( alias ).Append(
					persister.FromJoinFragment( alias, true, true )
					)
				)
				.SetWhereClause( whereSqlString.ToSqlString() )
				.SetOuterJoins(
					ojf.ToFromFragmentString,
					ojf.ToWhereFragmentString.Append(
					persister.WhereJoinFragment( alias, true, true )
					)
				);

			if( collectionPersister.HasOrdering )
			{
				select.SetOrderByClause( collectionPersister.GetSQLOrderByString( alias ) );
			}

			SqlString = select.ToSqlString();
		}
开发者ID:rcarrillopadron,项目名称:nhibernate-1.0.2.0,代码行数:49,代码来源:OneToManyLoader.cs


注:本文中的IOuterJoinLoadable.FromTableFragment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。