我在哪里可以找到SolrNet IQueryable提供商?

时间:2012-08-10 22:17:43

标签: odata iqueryable solrnet

我正在使用WebApi并希望为我的一个SolrNet资源实现OData。

如果您返回IQueryable,WebApi支持OData。所以我需要一个用于SolrNet查询的IQueryable提供程序。

有谁知道我可以如何开始的任何或一些示例代码?如果没有,我公司可能会启动一个开源项目来创建它。

3 个答案:

答案 0 :(得分:1)

我知道,这个问题已经很老了,但是如果有人在5年之后需要这个问题 - 这是我对Linq to Solr IQueriable的实施

Git Hub项目

  

https://github.com/DanielLavrushin/LinqToSolr/

Nuget Package

  

https://www.nuget.org/packages/LinqToSolr/

答案 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();