Hi,
In using Linq to Nhibernate I bumped into a bug (or feature): the SQL
resulting from the statement categories.Select(category => new
{ category.Name, category.Items.Count }) would produce a query (select
this_.Name, count(items1_.ID) from ...) without the necessary "group
by name" statement.
I made a quick and dirty fix for this (in the SelectArgumentsVisitor
class):
protected override NewExpression VisitNew(NewExpression expr)
{
NewExpression newExpr = base.VisitNew(expr);
_transformer = new
TypeSafeConstructorMemberInitResultTransformer(expr);
var aggregators = expr.Arguments.Where(arg => arg is
MethodCallExpression &&
SupportsMethod(((MethodCallExpression)arg).Method.Name));
if (aggregators.Any())
{
foreach (var exp in expr.Arguments.Except(aggregators))
{
string propertyName =
MemberNameVisitor.GetMemberName(_rootCriteria, exp);
_projections.Add(NHProjections.GroupProperty(propertyName));
}
}
return newExpr;
}
Regards,
Duarte
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"NHibernate Contrib - Development Group" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com.ar/group/nhcdevs?hl=en
-~----------~----~----~----~------~----~------~--~---