2016-11-17 56 views
0

使用排序依據我有一個名爲Person兩列的表:(PERSONID - 鍵,PersonName如何的EntityFramework

我試圖檢索由PersonName下令所有的人。

下面的代碼不會爲了我的結果:

var persons = from p in MyContext.Persons.OrderBy(x=>x.PersonName) select p; 

var res = persons.Distnct().ToArray(); 

是否有可能在舞臺上演出的順序(我知道,移動OrderBy第二行 - 後評價 - 做的順序) ?

回答

0

試試這個:

var result = (from p in MyContext.Persons 
        select new 
        { 
         p.PersonName 
        }).Distinct().OrderBy(x => x.PersonName).ToArray(); 

解決方案,而LINQ

var result = MyContext.Persons.Select(a => new { a.name }).Distinct().OrderBy(a => a.name).ToArray(); 
+0

你的'Distinct'會破壞'OrderBy'的順序。你應該改變他們的順序。 – Sefe

1

可以包括由在單個查詢順序和不同。它對我很好:

var persons = MyContext.Persons.OrderBy(x => x.Name).Select(x => x.Name).Distinct(); 

如果你想將它轉換爲數組,然後使用ToArray()方法。