對不起,我是NHibernate的新手,我希望我不會爲這個問題感到難堪。從NHibernate的相關表中選擇不同的值集合
我在Logs和UserProfiles表中分別有2個對象,一個Log和一個UserProfile。每個Log對象引用一個或者沒有UserProfile對象。
我想要一個有效的方式從日誌表中收集一個不同的UserProfile.UserName
字符串列表,按字母順序排列。使用Linq這非常簡單,但我希望完成數據庫端。我的
public IEnumerable<string> GetUserNamesInLogs(){}
是什麼樣子?
如果我是在SQL寫這個,我會做這樣的事情:
select distinct
u.UserName
from
Logs as l
inner join
UserProfiles as u
on u.UserId = l.UserId;
我要尋找一個在NHibernate的等價物。我想我不想爲此延遲加載(這看起來像是性能漏洞),但我可能不清楚延遲加載的工作原理。
你是說你想加載日誌,然後延遲加載每個日誌的不同用戶名的集合,或者你只是想要一個具有所有不同用戶名的查詢?這個問題還不夠清楚 – Rippo 2012-04-20 10:02:27
我想要一個獨特的用戶名列表,這些用戶名出現在我的日誌條目中。我會認爲我不想要那些懶惰的,但我可能是錯的。我將爲我的問題添加更多的上下文。 – 2012-04-20 11:17:17