proget是否支持标签的OData查询?

时间:2014-09-25 11:31:50

标签: nuget-server proget

我正在尝试使用Nuget.Core API查询proget服务器。这个方法:

using System.IO.Packaging;
public IEnumerable<IPackage> GetAllProgramPackages(string feedUrl)
{
    var repository = PackageRepositoryFactory.Default.CreateRepository(feedUrl);            
    var query = repository.GetPackages();            
    var programPackages = query.Where(p => p.Tags.Contains("ClientPackage"));    
    return programPackages;

}

根据我的理解,它应该只返回标签包含“ClientPackage”的包。 它实际上返回整个存储库,这是不可取的。我总是可以在查询返回后过滤客户端,但是在我们的存储库中有几千个nuget包,这不是一个好的选择。

是否可以针对proget服务器对标签运行OData查询,并让它在服务器端执行?

1 个答案:

答案 0 :(得分:1)

是的,您可以过滤substringof匹配的任何属性(类似于C#中的Contains())。只需使用:

http://proget/nuget/Default/Packages()?$filter=substringof(tags,'ClientPackage')