Entity Framework は LINQ to SQL と違って Entity SQL 経由で実行されます。いきなり SQL を生成する LINQ to SQL とは異なり 1 つ挟まってます。 それはともかく、Entity Framework でも LINQ to SQL でも問題になるのがクエリ式内部では特定の CLRオブジェクト、メソッドしか使えないということ。例えば context.Products.OrderBy(p => new Random().Next());
といったクエリ式は実行時に Random.Next に対応する SQL関数が無いとか言われて失敗します。じゃあ、Entity Framework でランダム抽出をするにはどうするん?という話になりますが、ちゃんと解は用意されていました。 CLR メソッドと正規関数とのマッピング Entity Framework で利用可能な CLR メソッドを表でまとめられています。この表にある CLR メソッドはクエリ式内で記述すると、自動的に適切な正規...

まだコメントはありません。最初のコメントを登録してみませんか?