鑑於下表計數:集團通過與使用NHibernate
資源:
ID INT,
名稱爲varchar(100),
地址爲varchar(500),
市VARCHAR(100) ,
等
ResourceViews:
ID INT,
RESOURCEID INT,
用戶id INT,
viewDate每一個資源看着,一個條目添加到該用戶的的ResourceView表時間的DateTime
。
下面是相應的類:
public class Resource
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string City { get; set; }
public IList<ResourceView> ResourceViews { get; set; } // simplified
etc. -- class simplified for question
}
public class ResourceView {
public int Id { get; set; }
public Resource Resource { get; set; }
public User User { get; set; }
public DateTime ViewDate { get; set; }
}
使用NHibernate,我如何通過類似下面的SQL檢索什麼計數獲得前5觀看次數最多的資源,以便:
SELECT * FROM [資源]
其中在(
ID從resourceViews
其中userid = 3
組由(RESOURCEID)選擇前5 RESOURCEID 爲了通過COUNT(*)遞減
)
獎勵積分,如果它可以與標準的API,而不是HQL來完成。
這是近乎完美的,謝謝!獲得的積分和我把最終的解決方案作爲任何人遇到這個問題的新答案。 – 2010-02-22 13:23:11