本文整理汇总了C#中IResultTransformer.TransformTuple方法的典型用法代码示例。如果您正苦于以下问题:C# IResultTransformer.TransformTuple方法的具体用法?C# IResultTransformer.TransformTuple怎么用?C# IResultTransformer.TransformTuple使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IResultTransformer
的用法示例。
在下文中一共展示了IResultTransformer.TransformTuple方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetResultList
public override IList GetResultList(IList results, IResultTransformer customResultTransformer)
{
if (customResultTransformer == null)
{
// apply the defaut transformer of criteria aka RootEntityResultTransformer
return results;
}
for (int i = 0; i < results.Count; i++)
{
var row = results[i] as object[] ?? new object[] { results[i] };
object result = customResultTransformer.TransformTuple(row, translator.HasProjection ? translator.ProjectedAliases : userAliases);
results[i] = result;
}
return customResultTransformer.TransformList(results);
}
示例2: GetRowFromResultSet
internal object GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session,
QueryParameters queryParameters, LockMode[] lockModeArray,
EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys,
bool returnProxies, IResultTransformer forcedResultTransformer)
{
ILoadable[] persisters = EntityPersisters;
int entitySpan = persisters.Length;
for (int i = 0; i < entitySpan; i++)
{
keys[i] =
GetKeyFromResultSet(i, persisters[i], i == entitySpan - 1 ? queryParameters.OptionalId : null, resultSet, session);
//TODO: the i==entitySpan-1 bit depends upon subclass implementation (very bad)
}
RegisterNonExists(keys, session);
// this call is side-effecty
object[] row =
GetRow(resultSet, persisters, keys, queryParameters.OptionalObject, optionalObjectKey, lockModeArray,
hydratedObjects, session);
ReadCollectionElements(row, resultSet, session);
if (returnProxies)
{
// now get an existing proxy for each row element (if there is one)
for (int i = 0; i < entitySpan; i++)
{
object entity = row[i];
object proxy = session.PersistenceContext.ProxyFor(persisters[i], keys[i], entity);
if (entity != proxy)
{
// Force the proxy to resolve itself
((INHibernateProxy)proxy).HibernateLazyInitializer.SetImplementation(entity);
row[i] = proxy;
}
}
}
return forcedResultTransformer == null
? GetResultColumnOrRow(row, queryParameters.ResultTransformer, resultSet, session)
: forcedResultTransformer.TransformTuple(GetResultRow(row, resultSet, session),
ResultRowAliases);
}