Я читал документы на http://odata.github.io/odata.net/#04-02-query-options для клиентской библиотеки .net для использования служб OData.
Документация разъясняет, как использовать службу, но иногда нам просто нужно получить часть URL-адреса $ filter.
Итак, как и в заголовке вопроса, есть ли способ получить строку $ filter, соответствующую данному выражению?
То, что я ищу, может выглядеть так:
Expression<Func<Person, bool>> predicate = p => p.Name == "test";
string filter = GetFilter(predicate); // "Name eq 'test'"
Возможно ли это без необходимости писать ExpressionVisitor с нуля?
@ pinkfloydx33 спасибо, что указали на это, я отредактировал вопрос, исправив это
Я тоже ищу что-то подобное, вы нашли какие-то решения?
@MateuszRadny не совсем, извините. В то время я закончил делать это вручную для количества случаев, в которых нуждалось приложение, и вскоре после этого продукт был продан другому поставщику программного обеспечения, поэтому я больше не отслеживаю его.





Если это вообще возможно (я ничего об этом не знаю), то не с
Func<T, TResult>, а сExpression<Func<T,TResult>>. Примечание: это почти наверняка возможно, если проанализировать дерево выражений ... Я просто не знаю, существует ли библиотека для таких действий.