C# MyCuch(CouchDB)Visual Studio基础知识(文档删除和JSON序列化)

C# MyCuch(CouchDB)Visual Studio基础知识(文档删除和JSON序列化),c#,json,visual-studio,couchdb,C#,Json,Visual Studio,Couchdb,我正在尝试使用VisualStudio和CouchDB构建一个通信协议,但是,我在一些非常基本的概念上遇到了问题,MyCuch git还很不清楚。 我想知道如何删除给定数据库名称的文档,以及如何将从服务器接收的JSON转换为可用代码 这是到目前为止我的C代码 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.

我正在尝试使用VisualStudio和CouchDB构建一个通信协议,但是,我在一些非常基本的概念上遇到了问题,MyCuch git还很不清楚。 我想知道如何删除给定数据库名称的文档,以及如何将从服务器接收的JSON转换为可用代码

这是到目前为止我的C代码

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static async Task MainAsync()
        {
            using (var db = new MyCouch.MyCouchStore("http://UserName:Password@127.0.0.1:5984/", "patientsim"))
            {
                var json = await db.GetByIdAsync("1");
                Console.Write(json);
            }
        }
        static void Main(string[] args)
        {
            MainAsync().Wait();
        }
    }
}

从CouchDB文档中:

如果您想在CouchDB中更改一个文档,您不会告诉它去 并在特定文档中查找字段并插入新值。 相反,您从CouchDB加载完整文档,进行更改 在JSON结构中(或对象中,当您执行实际操作时 编程),并保存该文件的整个新修订版(或版本) 文件返回到CouchDB每个版本都由一个新的 值。

如果要更新或删除文档,CouchDB希望您 包括要更改的修订的_rev字段

这是一种避免覆盖其他人更新的方法

因此,要删除文档,您首先需要加载它:

var myDoc = await store.GetByIdAsync(docId);
然后使用document Rev属性将其删除:

var deleted = await store.DeleteAsync(docId, myDoc.Rev);
因此,除了Id属性外,文档模型还必须具有Rev属性

模型的Rev属性可以命名为:

  • [EntityName]修订版
  • 文件修订版
  • 恩蒂提列夫
  • 修订版

我找到了删除文档的方法,但我仍然无法实现序列化。