動的クエリは十分に動的ではありません。私はこのような解決策を見てきましたが、それでも基礎として使用するテーブルを示す必要があります:
var query = db.Customers.Where("...").OrderBy("...").Select("...");
ユーザーがドロップダウンリストを使用して利用可能なテーブルから選択する簡単なクエリツールを作成したいと思います。結果として、最初のいくつかのレコードを表示します。したがって、 私もテーブルを変更する必要があります!つまり、次のようなものが必要です。
string selectedTable = "Customers";
var [tableName] = SomeTypecastingOperations(selectedTable);
var query = db.[tableName].Where("...").OrderBy("...").Select("...");
EFはこれを処理するのに十分動的ですか?
Linq-to-entitiesはこれをサポートしていません。 Entity SQL、またはクエリするすべてのセットに対して条件付きロジックを持ついくつかの醜いコード(テーブル名の大きなswitch
ような)でそれを実現できます。