Преобразовать строку в запрос LINQ

#linq #linq-to-sql

#linq #linq-to-sql

Вопрос:

какой метод или способ следует использовать для преобразования строки в запрос linq ?

Среда: VS 2010/ C#

Комментарии:

1. Какого рода строка? Что вы подразумеваете под «запросом linq»?

2. Пожалуйста, предоставьте нам дополнительную информацию… Из всего, что вы написали, я бы просто ответил String.ToLinqQuery() .

3. Строка. ToLinqQuery() не существует — Капитан очевидность

Ответ №1:

Я не уверен в том, чего вы пытаетесь достичь, но если вы имеете в виду создание запросов linq из строк, вы могли бы использовать динамическую библиотеку linq, ознакомьтесь с ней здесь http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

Ответ №2:

Вы должны сделать что-то вроде этого:

 var query =
                db.Customers.Where("Country== @0 and Orders.Count >= @1", "Costa Rica", 10).
                OrderBy("CompanyName").
                Select("New(CompanyName as Name, Phone)");
  

некоторые части могут быть взяты из строк, некоторые другие (таблицы) не могут

Ответ №3:

Преобразование строки в запрос Linq напрямую невозможно без некоторого синтаксического анализа и перевода в System.Linq.Expression объекты. Ни то, ни другое не является тривиальным.

Проверьте это на одном примере.