Использовать переменную в качестве имени таблицы сущностей - PullRequest
2 голосов
/ 02 июня 2011

Есть ли способ динмически определить имя таблицы, чтобы мне не приходилось делать несколько вызовов, если таблица, к которой я обращаюсь, отличается для разных условий? Я не хочу иметь if / else для каждой таблицы, к которой я обращаюсь, если я могу использовать вместо нее имя переменной.

using (Entity ctx = new Entity())
{
    dbTableVal = "EntityTables";
    var query = from d in dbTableVal
                where d == "Yes"
                select d;
}

Ответы [ 3 ]

1 голос
/ 02 июня 2011

Думаю, нет, потому что сама таблица также определяет тип возвращаемого значения IQueryable<T>.Даже с ESQL (который имеет строковый синтаксис) невозможно определить общий запрос, если вы не знаете тип набора результатов.

0 голосов
/ 02 июня 2011

Вы можете создать функцию, которая принимает "объект" и "тип" и возвращает IQUeryable?

например:

private IQueryable GetQuery(object Table, Type t)
{
    var query = from d in ((t)Table) where d == "Yes" select d;
    return query;
}

UNTESTED !!!поэтому может потребоваться внести некоторые изменения в это, но что-то в этом роде может работать для вас ....

0 голосов
/ 02 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...