У меня есть источник данных, такой как IDataSource : IEnumerable<IDynamicObject>
Одна реализация запрашивает чистые XML-данные, а другая - базу данных SQL.
Мои источники данных не имеют конкретных типов и работают только с простыми типами схем.
В некоторых сценариях эти источники данных создаются в одном и том же контексте времени выполнения, а в других они доступны по сети.
Мне не удалось запросить мои источники данных с помощью LINQ, и я планирую использовать динамические объекты для извлечения и анализа только тех значений элементов, которые являются частью фактического запроса.
Это прекрасно работает при работе в том же контексте времени выполнения, но когда источник данных находится за веб-службой на удаленном сервере, это не удается, потому что я не могу использовать LINQ с веб-службой любым способом, о котором я знаю.
Поэтому я искал способ форматирования запросов LINQ в виде строки и отправки его на сервер, затем проанализировал его обратно в выражение и выполнил в новом контексте.
Два метода парсинга выражения, которые я смог найти, были Dynamic LINQ и FLEE . Я только кратко посмотрел на них, но ни один из них, похоже, не смог отформатировать выражение в строку, а также проанализировать его?
Я читал о Roslyn-проекте и думал, может, его можно использовать для этой проблемы? Кто-нибудь знает больше об этом?
Я тоже смотрел на IQueryable<TData>
, но я прочитал много негативных вещей об этом, поэтому, возможно, мне следует избегать этого. Также он строго типизирован, что не соответствует моим потребностям, потому что я не хочу никаких конкретных типов на сервере данных. Я также не понимаю, как это может быть использовано через веб-сервис, будучи строго типизированным? Я что-то упустил?