2011-05-31 109 views
2

我需要用nhibernate查詢來做一個簡單的「group by」。Linq to Nhibernate 3.1 Group By(或distinct)

我的嘗試是:

(from adn in session.Query<Table>() 
     orderby adn.Data 
     select adn.Data).Distinct().ToList<string>(); 

session.Query<Table().GroupBy(adn => adn.Data).Select(dat => dat).ToList<string>() 

有人可以幫助我找到一個解決辦法? 我的目標是檢索所有不同的「數據」列。 它可以按組或按組分組。

(2個解決方案將是我在NHibernate的進展更好)

問候

編輯

Danyolviax,我tryied您的解決方案

 return (from adn in session.Query<Table>() 
       group adn by adn.Data into dataGroupe 
       select dataGroupe).ToList<string>(); 

它不工作。 我擔心我使用Nhibernate 3.1(而不是2.1)

任何更正或替代解決方案?

編輯2

在其中工程(^^)

我有一個類的列表與一個屬性的第二溶液。 在我的情況下,我更喜歡有一個字符串或int的列表。 否則,我應該爲這種情況創建一個特定的類。

你知道一個把戲嗎。

並感謝您的支持。

+0

你有什麼錯誤? – danyolgiax 2011-05-31 13:33:15

+0

I'v更新我的帖子...希望這有助於! – danyolgiax 2011-05-31 14:05:43

回答

3

看看這裏:

Linq to NHibernate and Group By

這裏一些例子:

http://msdn.microsoft.com/en-us/vcsharp/aa336754

更新

嘗試這與3.1.0.4000:

var ret = (from adn in session.Query<Table>() 
       group adn by adn.Data into dataGroup 
       select new {dataGroup.Key }).ToList(); 

更新

var ret = (from adn in session.Query<Table>() 
      group adn by adn.Data into dataGroup 
      select dataGroup.Key).ToList<string>(); 
+0

謝謝你的工作 – 2011-05-31 15:54:31

+0

不客氣! – danyolgiax 2011-05-31 15:56:05