运行原始mycouch查询

时间:2016-02-21 05:02:28

标签: c# .net couchdb

我是couchdb和mycouch的新手。我试图实现一个非常简单的查询,我只想获取视图的结果并将其保存到我的DTO类中。

当我通过HTTP手动查询时,我的couchdb查询有效:

http://localhost:5984/mydb/_design/tshirts/_view/getAllTshirts

但是,当我尝试使用mycouch从我的应用程序运行它时,我无法运行它。我目前的查询:

using MyCouch.Requests;
using MyCouch.Responses;

// (...)

using (var client = new Client("http://localhost:5984/samples")) {
    var query = new QueryViewRequest("getAllTshirts");

    ViewQueryResponse<TShirt[]> result = await client.Views.QueryAsync<TShirt[]>(query);
    Console.WriteLine (result);
}

出于某种原因,它找不到Client课程。我找到了github上使用Client的示例,正​​如您所看到的,我使用了所有MyCouch相关的命名空间,如示例所示。

我还尝试使用MyCouchStore代替:

using (var store = new MyCouchStore("http://localhost:5984/", "samples")) {
    var query = new QueryViewRequest("getAllTshirts");
    ViewQueryResponse<TShirt[]> result = await store.Views.QueryAsync<TShirt[]>(query);
    Console.WriteLine (result);
}

但是,store不包含任何名为Views的属性。 有关如何使用MyCouch查询我的视图的任何想法吗?

2 个答案:

答案 0 :(得分:1)

这就是我使用MyCouchStore

所做的
using (var store = new MyCouchStore("http://user:password@localhost:5984", "samples")) {
    var query = new Query("tshirts", "getAllTshirts");

    var rows = store.QueryAsync<TShirt>(query).Result;
}

答案 1 :(得分:0)

很显然,文档不是最新的。构造函数现在需要2个参数,第二个是可选的引导程序。这对我有用:

var client = new Client("http://localhost:5984/samples", null)