1
做到這一點查詢我有這樣的事情在RavenDb:如何在RavenDB
路徑[的hasMany]目標[的hasMany]成就
所以我有一個包含目標和成就一個文檔。
如果其中一個傳統的數據庫,我能做出這樣的查詢
select g.id, count(a.id)
from path p
join goals g on p.id = g.pathId
join achievement a on a.id = g.id
group by goal.id
我怎麼做ravendb此查詢?
現在我在做這樣的:
Path path = RavenSession.Load<Path>(pathId);
path.Goals.Select(x => new
{
Id = x.Id,
Name = x.Name,
TOnCourse = x.Achievements.Where(y => y.Resolution == Resolution.OnCourse).Count(),
TAstray = x.Achievements.Where(y => y.Resolution == Resolution.Astray).Count()
});
我不想做這種方式,因爲我認爲我加載所有的「目標」和「成就」和我只希望是使在DB(ravendb)聚集
如果你想知道什麼路徑,目標和成就真的是在我的模型這裏是我的「寵物」項目http://dpath.apphb.com/
編輯 我想我會得到這些「計算」的值,並將它們放在Goal中作爲屬性,因爲我認爲計算將會非常普遍,所以要保持簡單,因爲成績不能被刪除,並且用戶會有一個「關係「有目標和成果,以數量來獲得‘我的統計’
不過,我想知道你將如何實現這一目標的查詢中RavenDb
謝謝!