如何使用Castle ActiveRecords和LINQ或HQL执行以下查询?如何使用LINQ或HQL执行以下SQL查询
SELECT a.id,s.classes,COUNT(p.id),MAX(p.date)截至去年,MIN(p.date)为第一
FROM帐户
LEFT JOIN校补ON s.account_id = a.id
LEFT JOIN用户U ON u.account_id = a.id
LEFT JOIN点p的p.user_id = u.id
WHERE支付= “S”
GROUP BY一个。编号
这些表是相关的我n以下面的方式:
我也有ActiveRecord类的所有表定义正确的关系(如果我做查询步骤它的工作,但它很慢,因为有很多行),我试过了这在投掷以下The method or operation is not implemented
-Exception
var result = from account in AccountRecord.Queryable
join s in SchoolRecord.Queryable on account equals s.Account into schools
from school in schools.DefaultIfEmpty(null)
join user in UserRecord.Queryable on account equals user.Account
join p in PointsRecord.Queryable on user equals p.User into points
where account.PaymentType == "S"
select new { Account = account, School = school, Count = points.Count() };
:这不工作的以下
NHibernate.Linq.Visitors.QueryModelVisitor.VisitGroupJoinClause(GroupJoinClause groupJoinClause,QueryModel queryModel,的Int32指数)
你不必按单曲做。类'要么得到一个有效的SQL查询? –
不,'s.classes'只是学校表中的一个整列,表示学校的班级数量。我实际上需要帐户和学校表中的更多列,我在这里将其留给了主要问题,但SQL查询在发布时直接对de DB执行。 – ChrFin