C# 如何在cosmos db C中为一个文档插入项目列表?

C# 如何在cosmos db C中为一个文档插入项目列表?,c#,azure,azure-cosmosdb,azure-cosmosdb-sqlapi,C#,Azure,Azure Cosmosdb,Azure Cosmosdb Sqlapi,归还物品清单: List<string> data = new List<string>(); using (SqlConnection connection = new SqlConnection(ConnectionString)) { string strCommandtext = "SELECT CONCAT([name],'_',[Number]) FROM [newTable]"; SqlDataAdapter sqlDataAdapter

归还物品清单:

List<string> data = new List<string>();

using (SqlConnection connection = new SqlConnection(ConnectionString))
{
    string strCommandtext = "SELECT CONCAT([name],'_',[Number]) FROM [newTable]";
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(strCommandtext, connection);

    DataSet ds = new DataSet();
    sqlDataAdapter.Fill(ds);

    foreach (DataRow drRow in ds.Tables[0].Rows)
    {
        controllerData.Add(drRow[0].ToString());
    }
}
            string demo = JsonConvert.SerializeObject(controllerData);

return demo;
但它抛出了一个错误:

{对象引用未设置为对象的实例。}

CreateDocumentSync方法仅适用于单个文档

根据您的描述,我们可以使用批量执行器库来实现这一点


Cosmos DB是一个文档存储。你的文件是什么形状的?不能只将字符串列表存储为文档。仅供参考,因为您执行的选择没有where条件,这意味着您可以从SQL数据库返回无限数量的字符串。这意味着,在一个文档中存储的数据可能超过最大2MB。我想将其存储为json格式。目前,您的代码没有做任何类似json的事情。它只是获取一个字符串列表并尝试将其存储为字符串。正如你所看到的,这是行不通的。JSON需要某种类型的键/值对结构。对于任何类型的列表,您都需要在文档中再次使用数组,无界数组是文档存储中的一种代码味道-如果超过最大文档大小,最终您会遇到麻烦。您可以提供的任何示例代码都会很有帮助:提前感谢Hanks指出文档大小我会解决它
 await client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri("databaseID", "collectionID"), demo);