EntityFramework の結果セットを永久に制限する方法を知っている人はいますか? このConditional Mappingのようなものについて話しています。これはまさに私が達成したいことですが、1 つの例外があります。これをプログラムで実行したいのです。これは、コンテキストの作成時にのみ条件値が EF に渡されるためです。また、この列がマッピングから消えないようにしたくありません。
私はEF2.0とリフレクションでこれを達成する方法を知っています。CreateQuery()メソッドを使用して独自のObjectQuery. CreateQuery()追加の条件を使用して独自の ESQL クエリを挿入できますWHERE TABLE.ClientID == value。
EF40の問題点は、これ以上ないということObjectQueryだけObjectSetで、CreateQuery()使用されていません。独自の ESQL クエリを挿入する方法がわかりません。
結果セットを制限したい理由は、クライアント データを互いに分離したいからです。.Where(x => x.ClientID == 5)この分離は、プログラマーが個々のクエリに条件を追加する必要がないように、コンテキスト内で自動的に行う必要があります。
私のアプローチは完全に悪いのかもしれませんが、他に方法がありません。