2010-12-15 4 views
40

これは遅いので、これは何かばかげたものでなければなりません。私はLinqPadを自分のデータベースに接続しており、最も単純なクエリの結果を得ることができません。LinqPadがC#ステートメントで結果を返さない

var q = from app in AppInstances 
select new { 
AppId = app.AppId 
}; 

私がそれを実行すると、LinqPadは正常に実行されたと言います(C#ステートメントモード)。何も修復されません。

AppInstances.Select (p => p.AppId) 

をそして、それは動作します:

私は、次の非常に単純なラムダ(C#式モード)を書くことができます。どうして?私は非ラムダクエリ構築機能を使用することを好むでしょう。私はこれがすべて一緒にばかげていると確信しています。

答えて

62

私は、ステートメントモードでは、q.Dump();というような結果を見なければならないと思います。

しかし、クエリ式を使用したいだけであれば、それを式モードから始めるのはなぜですか?

from app in AppInstances 
select new { 
    AppId = app.AppId 
}; 

またはあなたの元ラムダにそれが同等にする::だけの表現を使用し

from app in AppInstances 
select app.AppId 
+10

あなたは、私はいつもダンプを取ることを忘れ知っていると思いませんか? q.Dump()はステートメントモードでトリックを行いました。ありがとうジョン。あなたのDNRポッドキャストを聴いて、あなたの機能的プログラミングの本を作っています。あなたはプログラミングコミュニティにとって本当の価値です。 –

関連する問題