2011-01-31 3 views
0

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

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

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

Кроме того, чтобы избежать сохранения огромного класса таблицы отчетов в dbml.

Возможно ли запустить динамический запрос linq к таблице не в dbml, то есть (а не в объекте linq to sql)?

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

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

Ian

+0

Что вы хотите сказать? –

+0

Отредактировано. Извините, я бессвязно. – madcapnmckay

ответ

0

Да можно запустить LINQ к SQL против сущности не в DBML.

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

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

Смежные вопросы