Skip to content

Commit

Permalink
fix QueryBinder for Distinct
Browse files Browse the repository at this point in the history
  • Loading branch information
olmobrutall committed Aug 25, 2015
1 parent d1721c2 commit 5aa0028
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Signum.Engine/Linq/ExpressionVisitor/QueryBinder.cs
Expand Up @@ -382,7 +382,7 @@ private Expression BindDistinct(Type resultType, Expression source)
ProjectionExpression projection = this.VisitCastProjection(source);

Alias alias = NextSelectAlias();
ProjectedColumns pc = ColumnProjector.ProjectColumns(projection.Projector, alias, selectTrivialColumns: true);
ProjectedColumns pc = ColumnProjector.ProjectColumns(projection.Projector, alias, isGroupKey: true, selectTrivialColumns: true);
return new ProjectionExpression(
new SelectExpression(alias, true, null, pc.Columns, projection.Select, null, null, null, 0),
pc.Projector, null, resultType);
Expand Down
11 changes: 11 additions & 0 deletions Signum.Test/LinqProvider/GroupByTest.cs
Expand Up @@ -454,5 +454,16 @@ select new
FemaleFriends = friend.Count(f => f.Entity.Sex == Sex.Female)
}).ToList();
}

[TestMethod]
public void DistinctGroupByForce()
{
var list = Database.Query<ArtistEntity>()
.Select(a => new { Initials = a.Name.Substring(0, 1), a.Sex })
.Distinct()
.GroupBy(a => a.Initials)
.Select(gr => new { gr.Key, Count = gr.Count() })
.ToList();
}
}
}

0 comments on commit 5aa0028

Please sign in to comment.