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


C# IOuterJoinLoadable.GetSubclassPropertyColumnNames方法代码示例

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


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

示例1: WalkClassTree

		/// <summary>
		/// For an entity class, add to a list of associations to be fetched by outerjoin
		/// </summary>
		/// <param name="persister"></param>
		/// <param name="alias"></param>
		/// <param name="associations"></param>
		/// <param name="visitedPersisters"></param>
		/// <param name="path"></param>
		/// <param name="currentDepth"></param>
		/// <param name="factory"></param>
		private void WalkClassTree( 
			IOuterJoinLoadable persister, 
			string alias, 
			IList associations, 
			ISet visitedPersisters, 
			string path,
			int currentDepth,
			ISessionFactoryImplementor factory )
		{
			int n = persister.CountSubclassProperties();
			for( int i = 0; i < n; i++ )
			{
				IType type = persister.GetSubclassPropertyType( i );
				if( type.IsAssociationType )
				{
					WalkAssociationTree(
						( IAssociationType ) type,
						persister,
						i,
						alias,
						associations,
						visitedPersisters,
						path,
						currentDepth,
						factory
						);

				}
				else if( type.IsComponentType )
				{
					WalkComponentTree(
						( IAbstractComponentType ) type,
						i,
						persister.GetSubclassPropertyColumnNames( i ),
						persister.ToColumns( alias, i ),
						persister,
						alias,
						associations,
						visitedPersisters,
						SubPath( path, persister.GetSubclassPropertyName( i ) ),
						currentDepth,
						factory
						);
				}
			}
		}
开发者ID:rcarrillopadron,项目名称:nhibernate-1.0.2.0,代码行数:56,代码来源:OuterJoinLoader.cs

示例2: GetLHSColumnNames

 /// <summary>
 /// Get the columns of the owning entity which are to 
 /// be used in the join
 /// </summary>
 public static string[] GetLHSColumnNames(
     IAssociationType type,
     int property,
     int begin,
     IOuterJoinLoadable lhsPersister,
     IMapping mapping
     )
 {
     if (type.UseLHSPrimaryKey)
     {
         //return lhsPersister.getSubclassPropertyColumnNames(property);
         return lhsPersister.IdentifierColumnNames;
     }
     else
     {
         string propertyName = type.LHSPropertyName;
         if (propertyName == null)
         {
             //slice, to get the columns for this component
             //property
             return ArrayHelper.Slice(
                 lhsPersister.GetSubclassPropertyColumnNames(property),
                 begin,
                 type.GetColumnSpan(mapping)
                 );
         }
         else
         {
             //property-refs for associations defined on a
             //component are not supported, so no need to slice
             return lhsPersister.GetPropertyColumnNames(propertyName);
         }
     }
 }
开发者ID:zibler,项目名称:zibler,代码行数:38,代码来源:JoinHelper.cs

示例3: WalkAssociationTree

		private void WalkAssociationTree(
			IAssociationType associationType,
			IOuterJoinLoadable persister,
			int propertyNumber,
			string alias,
			IList associations,
			ISet visitedPersisters,
			string path,
			int currentDepth,
			ISessionFactoryImplementor factory )
		{
			string[] aliasedForeignKeyColumns = GetAliasedForeignKeyColumns( persister, alias, associationType, persister.ToColumns( alias, propertyNumber ) );
			string[] foreignKeyColumns = GetForeignKeyColumns( persister, associationType, persister.GetSubclassPropertyColumnNames( propertyNumber ) );

			if ( IsJoinedFetchAlwaysDisabled( persister, associationType, propertyNumber ) )
			{
				return;
			}
			
			string subpath = SubPath( path, persister.GetSubclassPropertyName( propertyNumber ) );
			JoinType joinType = GetJoinType(
				associationType,
				persister.EnableJoinedFetch( propertyNumber ),
				subpath,
				persister.GetSubclassPropertyTableName( propertyNumber ),
				foreignKeyColumns,
				factory
				);

			if ( joinType != JoinType.None )
			{
				WalkAssociationTree( 
					associationType, 
					aliasedForeignKeyColumns, 
					persister, 
					alias, 
					associations, 
					visitedPersisters, 
					subpath, 
					currentDepth,
					joinType,
					factory
					);
			}
		}
开发者ID:rcarrillopadron,项目名称:nhibernate-1.0.2.0,代码行数:45,代码来源:OuterJoinLoader.cs


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