Linq To Entities - Как создать запрос, в котором имя таблицы является параметром - PullRequest
0 голосов
/ 14 марта 2012

Динамические запросы недостаточно динамичны. Я видел такие решения, как this , но все же я должен указать, какую таблицу использовать в качестве основы:

var query = db.Customers.Where("...").OrderBy("...").Select("...");

Я хочу создать простой инструмент запросов, где пользователь будет выбирать из доступных таблиц, используя раскрывающийся список. В результате хочу показать первые несколько записей. Поэтому Мне тоже нужно изменить таблицу ! То есть мне нужно что-то вроде этого:

string selectedTable = "Customers";
var [tableName] = SomeTypecastingOperations(selectedTable);
var query = db.[tableName].Where("...").OrderBy("...").Select("...");

Достаточно ли EF динамического для этого?

1 Ответ

0 голосов
/ 14 марта 2012

Linq-to-entity не поддерживает это.Вы можете добиться этого с помощью Entity SQL или некоторого некрасивого кода, который будет иметь условную логику для каждого набора, который вы хотите запросить (например, большой switch для имен таблиц).

...