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


C# ILoadable.GetSubclassForDiscriminatorValue方法代码示例

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


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

示例1: GetInstanceClass

		/// <summary>
		/// Determine the concrete class of an instance for the <c>IDataReader</c>
		/// </summary>
		private string GetInstanceClass(IDataReader rs, int i, ILoadable persister, object id, ISessionImplementor session)
		{
			if (persister.HasSubclasses)
			{
				// code to handle subclasses of topClass
				object discriminatorValue =
					persister.DiscriminatorType.NullSafeGet(rs, EntityAliases[i].SuffixedDiscriminatorAlias, session, null);

				string result = persister.GetSubclassForDiscriminatorValue(discriminatorValue);

				if (result == null)
				{
					// woops we got an instance of another class hierarchy branch.
					throw new WrongClassException(string.Format("Discriminator was: '{0}'", discriminatorValue), id,
					                              persister.EntityName);
				}

				return result;
			}
			else
			{
				return persister.EntityName;
			}
		}
开发者ID:remcoros,项目名称:nhibernate,代码行数:27,代码来源:Loader.cs

示例2: GetInstanceClass

		/// <summary>
		/// Determine the concrete class of an instance for the <c>IDataReader</c>
		/// </summary>
		/// <param name="rs"></param>
		/// <param name="i"></param>
		/// <param name="persister"></param>
		/// <param name="id"></param>
		/// <param name="session"></param>
		/// <returns></returns>
		private System.Type GetInstanceClass(
			IDataReader rs,
			int i,
			ILoadable persister,
			object id,
			ISessionImplementor session )
		{
			System.Type topClass = persister.MappedClass;

			if( persister.HasSubclasses )
			{
				// code to handle subclasses of topClass
				object discriminatorValue = persister.DiscriminatorType.NullSafeGet(
					rs, suffixedDiscriminatorColumn[ i ], session, null );

				System.Type result = persister.GetSubclassForDiscriminatorValue( discriminatorValue );

				if( result == null )
				{
					// woops we got an instance of another class hierarchy branch.
					throw new WrongClassException( "Discriminator: " + discriminatorValue, id, topClass );
				}

				return result;
			}
			else
			{
				return topClass;
			}
		}
开发者ID:rcarrillopadron,项目名称:nhibernate-1.0.2.0,代码行数:39,代码来源:Loader.cs


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