Не напрямую, нет. IQuerable<T>
- это интерфейс, и за ним может быть много реализаций, каждая из которых по-разному сериализуется.
Тем не менее, вы можете попробовать и сериализовать Expression
, который IQueryable
интерфейс (основа IQueryable<T>
) предоставляет через Expression
свойство .
Проблема в том, что класс Expression
и его подклассы не сериализуемы, поэтому вам придется создать структуру, которая является зеркалом класса Expression
(и всех его подклассов). и их много) а потом сериализовать что. К счастью, на MSDN существует проект Сериализация дерева выражений, который может вам помочь.
Даже тогда у вас все равно не будет таких вещей, как информация о поставщике и т. Д. Это может повлиять или не повлиять на то, что вы пытаетесь сделать.
Однако, если все, что вам нужно, это установить дерево выражений для существующей реализации IQueryable<T>
, этого должно быть достаточно.