本文整理汇总了C#中ISessionImplementor.GetEntityIdentifier方法的典型用法代码示例。如果您正苦于以下问题:C# ISessionImplementor.GetEntityIdentifier方法的具体用法?C# ISessionImplementor.GetEntityIdentifier怎么用?C# ISessionImplementor.GetEntityIdentifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISessionImplementor
的用法示例。
在下文中一共展示了ISessionImplementor.GetEntityIdentifier方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetObjectFromList
private object GetObjectFromList(IList results, object id, ISessionImplementor session)
{
// get the right object from the list ... would it be easier to just call getEntity() ??
foreach (object obj in results)
{
bool equal = idType.Equals(
id,
session.GetEntityIdentifier(obj));
if (equal)
{
return obj;
}
}
return null;
}
示例2: Load
public object Load( ISessionImplementor session, object id, object optionalObject )
{
object[ ] batch = session.GetClassBatch( persister.MappedClass, id, batchSize );
IList list;
if( smallBatchSize == 1 || batch[ smallBatchSize - 1 ] == null )
{
return ( ( IUniqueEntityLoader ) nonBatchLoader ).Load( session, id, optionalObject );
}
else if( batch[ batchSize - 1 ] == null )
{
if( log.IsDebugEnabled )
{
log.Debug( "batch loading entity (smaller batch): " + persister.MappedClass.Name );
}
object[ ] smallBatch = new object[smallBatchSize];
Array.Copy( batch, 0, smallBatch, 0, smallBatchSize );
list = smallBatchLoader.LoadEntityBatch( session, smallBatch, idType, optionalObject, id );
log.Debug( "done batch load" );
}
else
{
if( log.IsDebugEnabled )
{
log.Debug( "batch loading entity: " + persister.MappedClass.Name );
}
list = batchLoader.LoadEntityBatch( session, batch, idType, optionalObject, id );
log.Debug( "done batch load" );
}
// get the right object from the list ... would it be easier to just call getEntity() ??
foreach( object obj in list )
{
if( id.Equals( session.GetEntityIdentifier( obj ) ) )
{
return obj;
}
}
return null;
}
示例3: Hydrate
public override object Hydrate( IDataReader rs, string[ ] name, ISessionImplementor session, object owner )
{
return session.GetEntityIdentifier( owner );
}
示例4: Assemble
public override object Assemble( object cached, ISessionImplementor session, object owner )
{
object id = session.GetEntityIdentifier( owner );
if( id == null )
{
throw new AssertionFailure( "owner id unknown when re-assembling collection reference" );
}
return ResolveIdentifier( id, session, owner );
}
示例5: Assemble
public override object Assemble( object cached, ISessionImplementor session, object owner )
{
return ResolveIdentifier( session.GetEntityIdentifier( owner ), session, owner );
}
示例6: Disassemble
public override object Disassemble( object value, ISessionImplementor session )
{
return ( value == null ) ?
null :
new ObjectTypeCacheEntry(
value.GetType(),
session.GetEntityIdentifier( value ) );
}
示例7: Disassemble
public override object Disassemble(object value, ISessionImplementor session)
{
return (value == null) ?
null :
new ObjectTypeCacheEntry(
NHibernateProxyHelper.GuessClass(value),
session.GetEntityIdentifier(value));
}