2011-02-17 252 views
13

我想在下面的代碼中添加一個截然不同的。我無法弄清楚確切的語法。提前致謝。Linq to Entities Distinct Clause

var testdates = (from o in db.FMCSA_ME_TEST_DATA 
       orderby o.DATE 
       select new 
       { 
        RequestDate = o.DATE 
       }); 

回答

16

使用Distinct()擴展方法。

請注意,Distinct()可能會否定現有的orderby(我在LINQ to SQL中已經注意到了這一點),因此您可能需要在以後使用OrderBy()方法。

var testdates = (from o in db.FMCSA_ME_TEST_DATA 
       select new 
       { 
        RequestDate = o.DATE 
       }).Distinct().OrderBy(x => x.RequestDate); 
+0

你確定Distinct()是否定否?我沒有看到這種行爲(運行類似的查詢),並且如果我確實感到非常驚訝 – 2011-02-17 22:00:29

4
var testdates = (from o in db.FMCSA_ME_TEST_DATA 
       orderby o.DATE 
       select new 
       { 
        RequestDate = o.DATE 
       }).Distinct(); 

關鍵是要包裝你的查詢在括號中,所以你可以調用不同的方法,你已經做了,所以你需要的所有是釘在末尾的方法調用。