Динамическое LINQ против сущности не в DBL - PullRequest
0 голосов
/ 31 января 2011

Меня попросили исследовать полезность linq для sql для создаваемого нами приложения для составления отчетов.Наша таблица отчетов представляет собой серверную таблицу sql со многими тысячами столбцов различных типов (String1-500, Int1-500 и т. Д.).Он содержит результаты динамических отчетов, созданных пользователем.

У нас есть вторая таблица, которая отображает поле отчета в столбец таблицы отчетов с порядковой парой типа (т. Е. Столбец String1).

Я знаю, что должна быть возможность создавать деревья выражений для класса linq to sql dbml, который может возвращать результаты отчета.Я хотел бы пойти немного дальше и вернуть только те столбцы, которые сопоставляются с полями и возвращают в результате динамический тип.

Кроме того, чтобы не поддерживать огромный класс таблицы отчетов в dbml.

Можно ли выполнить динамический запрос linq для таблицы, не входящей в dbml, т. Е. (Не для сущности linq to sql)?

Я понимаю, что это подделка L2S иЯ не люблю это.Я подумываю об использовании простого старого ADO и возврате набора результатов нетипичного типа.

Большое спасибо,

Ian

1 Ответ

0 голосов
/ 31 января 2011

Да, можно запускать LINQ to SQL для сущности, не входящей в DBML.

Может быть несколько способов сделать это, но самый простой из них - вызов DataContext.ExecuteQuery , который выполнит инструкцию SQL и вернет набор результатов.

Если вы знаете тип результата, вы можете преобразовать его в объект, в противном случае вы можете вернуть его в виде списка типов объектов.

...