Как мне хранить / конструировать полные запросы, как мы делаем, используя простой SQL и переменные и «+»? - PullRequest
1 голос
/ 12 февраля 2011

Мне неизвестен правильный термин, используемый для следующей процедуры в LINQ, но я надеюсь, что есть способ.

ПРОСТОЙ SQL QUERY

Выберите это из таблицы, где альфа была бы той или этой.

Чтобы построить такую ​​вещь, я бы (ТРЕБОВАНИЕ) обычно использовал переменные, подобные этой:

    public return_type select_any(string table_name, string column_name, string where_clause)
    {
        string command_text= "select "+column_name+ " from+" "+table_name+" where "+" "+where_clause;
        // and then whatever the syntax to populated the dataset etc...
    }

теперь тип запроса LINQ похож на

var customerQuery2 = 
    from cust in customers
    where cust.City == "London"
    select cust;

foreach(var customer in customerQuery2)
{
    Console.WriteLine(customer.LastName + ", " + customer.FirstName);
}

проблема

тысяча таблиц, мне нужно было бы написать запросы из всех таблиц, используя там экземпляр, чтобы выполнить точно такую ​​же функцию выбора ТИПА!

Как обойти это?

1 Ответ

2 голосов
/ 12 февраля 2011

Если у вас есть только where_clause в виде строки, вы также можете просто использовать существующий код.Проблемы:

  • вы можете передать существующий код TQL на ExecuteQuery, но вам нужно знать, какой тип ожидать
  • , чтобы получить его и обработать * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * *1013* * * * * * * * * * * * * * * *1013* Тем не менее, в терминах СООО, которые вы описываете, по сути то же самое, что1015 * с использованием, например: int id = ... string name = GetSomeValue(ctx.Customer, cust => cust.Name, cust.Id = id); Если вы хотите работать со строками, также можно строить деревья выражений во время выполнения на основе имен / значений свойств.Не уверен, что это то, что вы хотите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...