Прежде всего, позвольте мне уточнить, что System.Linq.Dynamic не является полноценным продуктом Microsoft.Это всего лишь пример, который мы выпустили некоторое время назад, и мы не проводим тщательного тестирования различных реализаций LINQ для правильной работы с ним.Если вы ищете полностью поддерживаемый текстовый язык запросов для EF ObjectContext API, вы должны вместо этого взглянуть на Entity SQL.
Кроме того, если вы хотите использовать System.Linq.Dynamic и у вас все в порядкепроверив себя, что вы не нажмете ничего, что заблокирует работу вашего приложения, я постараюсь выяснить, смогу ли я помочь.Мне понадобится дополнительная информация, так как я не уверен, что все понимаю в ваших фрагментах кода.
Прежде всего, я хотел бы понять, в вашем первом примере, что такое «данные» и откуда они берутся?В вашем втором фрагменте, что такое «rawQuery» и откуда он взялся?Besdies, что такое rawQuery.DataResultList и что такое rawQuery.ObsDataResultList?
Кроме того, что касается вашего второго фрагмента, кажется, что вы пытаетесь создать операторы запроса поверх объекта, который на самом деле не относится к типу запроса(хотя это не объясняет ошибку, которую вы получаете, учитывая, что вы вызываете AsQueryable, компилятор должен был жаловаться до того, что bhcs_ObsData_2_Result не является IEnumerable или не универсальным IEnumerable).
В своем предполагаемом ответе вы говорите, что пытались использовать ObjectResult, и это, похоже, помогло.Просто имейте в виду, что ObjectResult не является объектом запроса, и поэтому он не позволит вам создавать запросы, которые отправляются на сервер.Другими словами, любые операторы запросов, которые вы применяете к ObjectResult, будут оцениваться в памяти, и если вы не будете помнить об этом, вы можете в конечном итоге перенести все данные из этой таблицы в память, прежде чем применять какую-либо фильтрацию.