私の信念は、いつも私ができる、Entity Frameworkはデータを取得する前または後にラムダ式を実行しますか?
SELECT * FROM big_data_set WHERE name = (someName)
ようしかし、それについて考えた後、がエンティティであり、あなたがvar someThing = Context.BigDataSet.Single(x => x.Name.Trim().ToUpper.Equals(someName.Trim().ToUpper()));
を割り当てるならば、EFは、クエリにあなたのラムダ式を変換するために、いくつかの魔法を行いますことをされていますContext.BigDataSet
の結果をメモリに保存して、、次にの検索を実行する以外は、動作する方法を確認してください。
EF DbSet
ラムダ式がSQLに変換されるのか、それとも後ですべて適用されるのですか?
編集:もしそれらがSQLに変換されたら、EF
は名前をフェッチした後に起こることになるスタック全体を "どのように"見ることができますか?私がinstance.MethodA().MethodB()
と呼ぶならば、それは通常、方法A
とB
が逐次実行されるのではないのですか?
似たような質問とそれに対する[良い答え](http://stackoverflow.com/a/4703001/1177964)がありました。 – Fedor