本文整理汇总了C#中IProjection.GetTypedValues方法的典型用法代码示例。如果您正苦于以下问题:C# IProjection.GetTypedValues方法的具体用法?C# IProjection.GetTypedValues怎么用?C# IProjection.GetTypedValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IProjection
的用法示例。
在下文中一共展示了IProjection.GetTypedValues方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTypedValues
public static TypedValue[] GetTypedValues(ICriteriaQuery criteriaQuery, ICriteria criteria,
IProjection projection,
string propertyName,
params object[] values)
{
List<TypedValue> types = new List<TypedValue>();
if (projection == null)
{
foreach (object value in values)
{
TypedValue typedValue = criteriaQuery.GetTypedValue(criteria, propertyName, value);
types.Add(typedValue);
}
}
else
{
TypedValue[] typedValues = projection.GetTypedValues(criteria, criteriaQuery);
types.AddRange(typedValues);
// we add the values collection _twice_ on purpose.
// once is for the projection types, if they exists
// the second for the parameters of the expression itself
// if the projection is using no types, we will try to guess
// what we have here
foreach (object value in values)
{
if (typedValues.Length != 0)
{
types.AddRange(typedValues);
}
else
{
types.Add(new TypedValue(NHibernateUtil.GuessType((object)value), value, EntityMode.Poco));
}
}
}
return types.ToArray();
}