我正在使用WebApi并希望为我的一个SolrNet资源实现OData。
如果您返回IQueryable,WebApi支持OData。所以我需要一个用于SolrNet查询的IQueryable提供程序。
有谁知道我可以如何开始的任何或一些示例代码?如果没有,我公司可能会启动一个开源项目来创建它。
答案 0 :(得分:1)
我知道,这个问题已经很老了,但是如果有人在5年之后需要这个问题 - 这是我对Linq to Solr IQueriable的实施
Git Hub项目
Nuget Package
答案 1 :(得分:0)
一般来说,IQueryable与某种LINQ提供程序相关联。我不确定社区在LINQ-to-Solr提供商处的位置。我不知道今天有什么作用,但有些项目出现在搜索结果中,你应该先投入时间来创建一个LINQ提供者。
那就是说 - 你可以 - 只需要列出一些东西并调用.AsQueryable()扩展方法。虽然在技术上很容易以这种方式获得IQueryable,但我认为您可能正在寻找将OData查询转换为Solr查询,在这种情况下,前一段是您想要追求的。
答案 2 :(得分:0)
您可以使用https://www.nuget.org/packages/SolrNet.Linq nuget软件包。它扩展了SolrNet功能,并与构建LINQ表达式的OData方式兼容,但是支持数量有限的方法。
代码示例为:
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
IQueryable<Product> solrLinq = solr.AsQuerable()
Product[] result = solrLinq.Where(p => p.Price > 12).ToArray();