2011-02-17 16 views
13

別名を以下のコードに追加したいと思います。私は正確な構文を理解することはできません。前もって感謝します。Linq to Entities Distinct句

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

答えて

16

Distinct()拡張メソッドを使用します。

orderby(これはLINQ to SQLでこれに気付いたことがあるので)Distinct()は、OrderBy()メソッドを後で使用することをお勧めします。

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

Distinct()についてご注文を否定してもよろしいですか?私はその動作(同様のクエリを実行している)が表示されていません。 –

+0

@Adam - LINQ to SQLのOrderBy/Distinct問題が発生しましたが、他のLINQプロバイダにとっては問題ではないかもしれません。 http://programminglinq.com/blogs/marcorusso/archive/2008/07/20/use-of-distinct-and-orderby-in-linq.aspx – Greg

+0

Wow - そのバグについて知りませんでした。私はEF4で修正されることを望んでいますが、* this *クエリには影響しません。しかしそれを掲示するための+1。 –

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

トリックは、あなたがすでにやっている、あなたは明確なメソッドを呼び出すことができるように括弧でクエリをラップすることですので、あなたが必要なすべてが終わりにメソッド呼び出しにタックすることでした。これは動作するはずのよう