Сегодня я видел множество методов и трюков в сети. Что мне нужно, это преобразовать мои запросы Linq в SQL (результаты IQueryable) в DataSet для целей отчетности. Инструмент отчетности - XtraReports от DevExpress.
Многообещающее решение, которое я нашел в другом сообщении : modelshredder . Тем не менее, я по-прежнему обеспокоен целым графом объектов, что если мне понадобятся все иерархические данные для моего отчета, связанные данные ассоциации EntitySet, EntityRef (например, я загрузил с клиентами все Orders и OrderDetails). Есть ли что-то, поддерживающее это, чтобы преобразовать его в соответствующий DataSet со связанными DataTables и всеми данными, которые мне нужны для генерации моего отчета с многочисленными значениями из многочисленных DataTables? Я понимаю, что мог бы использовать предыдущий инструмент и преобразовывать по одному связанные данные в DataTables внутри DataSet и предоставлять DataSource в отчете.
[EDIT] DataContext.GetCommand (IQueryable) выглядит еще одним полезным решением.
Я ищу больше мнений по этому вопросу и слушаю тех, кто использовал Linq to SQL и XtraReports (или любой инструмент отчетов, запрашивающий источники данных IList, IBindingList, ITypedList) для выполнения этой работы.