コード例 #1
0
        /// <summary>
        /// Create an alias for a projection
        /// </summary>
        /// <param name="projection">the projection instance</param>
        /// <param name="alias">LambdaExpression returning an alias</param>
        /// <returns>return NHibernate.Criterion.IProjection</returns>
        public static IProjection WithAlias(this IProjection projection,
                                            Expression <Func <object> > alias)
        {
            string aliasContainer = ExpressionProcessor.FindPropertyExpression(alias.Body);

            return(Projections.Alias(projection, aliasContainer));
        }
コード例 #2
0
        protected override Expression VisitMemberAccess(MemberExpression expr)
        {
            //this must be a grouping parameter member access
            IProjection projection = _rootCriteria.GetProjection();

            if (projection != null && projection.IsGrouped)
            {
                _projections.Add(NHProjections.Alias(projection, expr.Member.Name));
            }

            return(expr);
        }
コード例 #3
0
 public IProjection As(string alias)
 {
     return(Projections.Alias(this, alias));
 }
コード例 #4
0
 public ProjectionList Add(IProjection projection, String alias)
 {
     return(Add(Projections.Alias(projection, alias)));
 }
コード例 #5
0
 /// <summary>
 /// Create an alias for a projection
 /// </summary>
 /// <param name="projection">the projection instance</param>
 /// <param name="alias">alias</param>
 /// <returns>return NHibernate.Criterion.IProjection</returns>
 public static IProjection WithAlias(this IProjection projection, string alias)
 {
     return(Projections.Alias(projection, alias));
 }