EntityFrameworkの結果セットを永久に制限する方法はありますか?私はこのようなことについて話していますConditional Mapping。これはまさに私が1つの例外を除いて達成したいことです:私はプログラムでこれをやりたい条件値はコンテキスト作成時にのみEFに渡されるからです。私はこの列がマッピングから消えないようにしたくありません。ObjectQuery ESQLをオーバーライドして永続的にEF結果セットを制限する
私はEF2.0と反射でこれを達成する方法を知っています。私は自分のObjectQuery
を生成するためにCreateQuery()
メソッドを使用していました。 CreateQuery()
は、自分のESQLクエリに追加条件を挿入することを可能にします。 WHERE TABLE.ClientID == value
。
EF40の問題は、ObjectQuery
がなく、ObjectSet
とCreateQuery()
だけが使用されないということです。自分のESQLクエリをどのように注入するのか分かりません。
結果セットを制限したい理由は、クライアントデータを互いに分離したいからです。この分離はコンテキスト内で自動的に行われる必要があり、プログラマーはそれぞれのクエリに条件.Where(x => x.ClientID == 5)
を追加する必要がありません。
多分私のアプローチは完全に悪いですが、私は何も知らないです。
Thxを、これは正常に見えます。非常に多くのコーディング:)私はそれが自動的に行うことができると思った。スローエンティティセットを反復し、いくつかのクエリを – yntelo
...注入することによって、しかし、このアプローチは私にとっては適切です。私は別の方法があることをうれしく思っています。 – yntelo
私は別の問題に遭遇します。あなたの例を使って私は.Include(...)を使うことができません。インクルードは非常に便利で便利です。だから、追加の条件でObjectQueryを返す方法は? – yntelo