#.net-core #lambda #odata #expression-trees
Вопрос:
Я не уверен, что мои навыки Google подводят меня, но я с трудом нахожу библиотеку точек для преобразования лямбда-выражения в запрос OData $filter
.
Я знаю, что, вероятно, могу использовать Microsoft.AspNetCore.OData
библиотеку (или одну из базовых библиотек, от которых она зависит), но, насколько я понимаю, существуют раздражающие зависимости от HttpContext
моделей EDM и EDM. (По крайней мере, так я понял, когда читал о модульном тестировании и контроллерах с конечными точками OData.)
В сущности, я ищу что-то столь же простое, как
Expression<Fun<Order, bool>> x = y => y.Quantity > 25;
var filter1 = x.ToODataFilter();
// filter1 = "Quantity gt 25"
Expression<Fun<Order, bool>> w = x => x.Quantity < 5 amp;amp; x.IsShipped == true;
var filter2 = w.ToODataFilter();
// filter2 = "Quantity lt 5 and IsShipped eq 1"
Я бы даже был в порядке, если бы свойства навигации не поддерживались.
Есть какие-нибудь предложения?
Комментарии:
1. Возможно, вы захотите попробовать Просто. Одата. Клиент . Но обратите внимание, что AFAIK, запрашивающий библиотеку для выполнения каких-либо действий, не относится к теме StackOverflow.