本文整理汇总了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;
}
}
示例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;
}
}