本文整理汇总了C#中ISessionImplementor.InitializeNonLazyCollections方法的典型用法代码示例。如果您正苦于以下问题:C# ISessionImplementor.InitializeNonLazyCollections方法的具体用法?C# ISessionImplementor.InitializeNonLazyCollections怎么用?C# ISessionImplementor.InitializeNonLazyCollections使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISessionImplementor
的用法示例。
在下文中一共展示了ISessionImplementor.InitializeNonLazyCollections方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoQueryAndInitializeNonLazyCollections
/// <summary>
/// Execute an SQL query and attempt to instantiate instances of the class mapped by the given
/// persister from each row of the <c>DataReader</c>. If an object is supplied, will attempt to
/// initialize that object. If a collection is supplied, attempt to initialize that collection.
/// </summary>
/// <param name="session"></param>
/// <param name="queryParameters"></param>
/// <param name="optionalObject"></param>
/// <param name="optionalId"></param>
/// <param name="optionalCollectionKeys"></param>
/// <param name="returnProxies"></param>
/// <returns></returns>
private IList DoQueryAndInitializeNonLazyCollections(
ISessionImplementor session,
QueryParameters queryParameters,
object optionalObject,
object optionalId,
object[ ] optionalCollectionKeys,
bool returnProxies )
{
session.BeforeLoad();
IList result;
try
{
result = DoQuery( session, queryParameters, optionalObject, optionalId, optionalCollectionKeys, returnProxies );
}
finally
{
session.AfterLoad();
}
session.InitializeNonLazyCollections();
return result;
}
示例2: LoadSingleRow
protected object LoadSingleRow(
IDataReader resultSet,
ISessionImplementor session,
QueryParameters queryParameters,
bool returnProxies )
{
int cols = Persisters.Length;
IList hydratedObjects = cols == 0 ? null : new ArrayList();
object result = GetRowFromResultSet(
resultSet,
session,
queryParameters,
hydratedObjects,
null,
null,
new Key[cols],
returnProxies );
InitializeEntitiesAndCollections( hydratedObjects, resultSet, session );
session.InitializeNonLazyCollections();
return result;
}
示例3: LoadSingleRow
/// <summary>
/// Loads a single row from the result set. This is the processing used from the
/// ScrollableResults where no collection fetches were encountered.
/// </summary>
/// <param name="resultSet">The result set from which to do the load.</param>
/// <param name="session">The session from which the request originated.</param>
/// <param name="queryParameters">The query parameters specified by the user.</param>
/// <param name="returnProxies">Should proxies be generated</param>
/// <returns>The loaded "row".</returns>
/// <exception cref="HibernateException" />
protected object LoadSingleRow(
IDataReader resultSet,
ISessionImplementor session,
QueryParameters queryParameters,
bool returnProxies)
{
int entitySpan = EntityPersisters.Length;
IList hydratedObjects = entitySpan == 0 ?
null : new ArrayList(entitySpan);
object result;
try
{
result = GetRowFromResultSet(
resultSet,
session,
queryParameters,
GetLockModes(queryParameters.LockModes),
null,
hydratedObjects,
new EntityKey[entitySpan],
returnProxies);
}
catch (HibernateException)
{
throw; // Don't call Convert on HibernateExceptions
}
catch (Exception sqle)
{
throw ADOExceptionHelper.Convert(sqle, "could not read next row of results", SqlString,
queryParameters.PositionalParameterValues, queryParameters.NamedParameters);
}
InitializeEntitiesAndCollections(
hydratedObjects,
resultSet,
session);
session.InitializeNonLazyCollections();
return result;
}