c# – LINQ to Azure Search

我正在创建一个可以使用Azure Search服务的类.我希望它接受用于搜索文档的LINQ表达式,以便外部模块不知道Azure搜索语法.

>是否有可以实现它的库?由于Azure搜索很年轻,我无法在互联网上找到这样的.所有我发现的是RedDog包非常好,但仍然需要字段名称和比较操作作为字符串,有一天肯定会变得“神奇”.
>好的,Azure Search也接受OData格式的查询.我见过很少的OData-query-to-LINQ-expression解决方案,但没有一个相反.我需要一个可以将LINQ转换为OData字符串的库.

任何帮助表示赞赏.

解决方法:

对于OData服务,您可以选择将.NET客户端用于OData,或者为OData使用代码生成器,它们对LINQ有很大的支持.您可以参考here以了解有关如何使用OData Client Generator生成客户端代理类的详细信息,然后轻松使用LIQN来执行您需要的所有查询. OData Client Generator建立在OData Client for .NET之上,我建议你可以从代码生成器开始.

但请注意,这两个库仅适用于OData V4.如果您使用较旧的OData版本,则不能使用代码生成器但使用“Add Service Reference”.然后您还可以轻松地使用LINQ进行查询.

希望这可以帮到你.

上一篇:c# – 如何在OData服务中将多个名称空间添加到IEdmModel中


下一篇:Dynamics CRM2015 2015版本可用的OData Query Designer工具