Example #1
0
    public static NHibernate.Criterion.Lambda.QueryOverProjectionBuilder <T> GroupByProperty <T>(
        this NHibernate.Criterion.Lambda.QueryOverProjectionBuilder <T> builder,
        System.Linq.Expressions.Expression <Func <object> > propertyExpression,
        System.Linq.Expressions.Expression <Func <object> > aliasExpression)
    {
        var alias = aliasExpression.ParseProperty();
        var propertyProjection  = Projections.Property(propertyExpression);
        var groupProjection     = Projections.GroupProperty(propertyProjection);
        var withAliasProjection = Projections.Alias(groupProjection, alias);

        builder.Select(withAliasProjection);
        return(builder);
    }
Example #2
0
 /// <summary>
 /// Selects the items.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <returns></returns>
 protected override NHibernate.Criterion.Lambda.QueryOverProjectionBuilder <MediaFile> SelectItems(NHibernate.Criterion.Lambda.QueryOverProjectionBuilder <MediaFile> builder)
 {
     return(builder.Select(() => alias.Id).WithAlias(() => modelAlias.Id)
            .Select(() => alias.Title).WithAlias(() => modelAlias.Name)
            .Select(() => alias.CreatedOn).WithAlias(() => modelAlias.CreatedOn)
            .Select(() => alias.Version).WithAlias(() => modelAlias.Version)
            .Select(() => alias.OriginalFileExtension).WithAlias(() => modelAlias.FileExtension)
            .Select(() => alias.PublicUrl).WithAlias(() => modelAlias.PublicUrl)
            .Select(alias.GetIsProcessingConditions()).WithAlias(() => modelAlias.IsProcessing)
            .Select(alias.GetIsFailedConditions()).WithAlias(() => modelAlias.IsFailed)
            .Select(() => alias.Size).WithAlias(() => modelAlias.Size));
 }