本文整理汇总了C#中DetachedCriteria.SetProjection方法的典型用法代码示例。如果您正苦于以下问题:C# DetachedCriteria.SetProjection方法的具体用法?C# DetachedCriteria.SetProjection怎么用?C# DetachedCriteria.SetProjection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DetachedCriteria
的用法示例。
在下文中一共展示了DetachedCriteria.SetProjection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitMethodCall
protected override Expression VisitMethodCall(MethodCallExpression expr)
{
Type = BinaryCriterionType.Criteria;
//TODO: don't hardcode this alias 'sub'
Criteria = DetachedCriteria.ForEntityName(rootCriteria.GetEntityOrClassName(), "sub");
EntityExpression rootEntity = EntityExpressionVisitor.RootEntity(expr);
if (rootEntity != null)
{
string identifierName = rootEntity.MetaData.IdentifierPropertyName;
Criteria.Add(Restrictions.EqProperty(rootCriteria.Alias + "." + identifierName, "sub." + identifierName));
}
if (SelectArgumentsVisitor.SupportsMethod(expr.Method.Name))
{
var projectionVisitor = new SelectArgumentsVisitor(Criteria.Adapt(session), session);
projectionVisitor.Visit(expr);
Criteria.SetProjection(projectionVisitor.Projection);
}
return expr;
}