如何使用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