azure – 如何在文档数据库中上载多个文档(批量)
发布时间:2021-01-23 00:37:00 所属栏目:MsSql教程 来源:网络整理
导读:我有文件列表(对象),该对象有多个文件,即Json记录存在,但是当我尝试上传文件串(记录)时,它不会上传到文档数据库,但是当我上传单个文档记录时,它会成功上传. ListMyModelClass listObj = new ListMyModelClass(); Document doc = await DocumentClient.CreateD
|
我有文件列表(对象),该对象有多个文件,即Json记录存在,但是当我尝试上传文件串(记录)时,它不会上传到文档数据库,但是当我上传单个文档记录时,它会成功上传. List<MyModelClass> listObj = new List<MyModelClass>();
Document doc = await DocumentClient.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id,listObj);
上面的代码不工作….. foreach (var item in listObj )
{
Document doc = await Client.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id,item);
}
这段代码对我有用….. Syntax : CreateDocumentAsync(String,?Object,?RequestOptions,?Boolean) Object :- Document object // I Know it as per syntax it need to be "Document Type". 我想要任何其他方式一次上传所有文档…. 解决方法您不能一次插入多个文档.对CreateDocumentAsync()的调用仅适用于单个文档.要实现这一点,您需要设计某种类型的服务器端存储过程来完成此操作,然后在一次调用中将文档数组传递给该函数.您可能希望查看this answer以查看其他人如何使用服务器端函数解决此问题,实质上是在本地创建文档数组,然后在其存储过程中遍历数组.所以,创建这样的东西(摘自该答案): docObject = {
"items": [{doc},{doc},{doc}]
}
并将docObject传递给您的存储过程. 最终,您的存储过程仍然会进行单独的插入调用,每个文档一个.但是……你不会有多次网络往返.并且插入将是事务性的(如果其中一个插入失败,或者您抛出异常,则其他插入将被回滚). (编辑:百科站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 如何为单个存储过程授予执行权限?
- 实体框架 – 具有Identity列的SQL Server Compact 4.0表中插
- tsql – SQL将行转换为列
- sql-server – 使用SQL将XML结构转置/展平为列
- 数据库设计 – 为具有多个多对多关系的视频游戏业务域设计数
- sql-server – 如何判断为什么某个表上的插入很慢?
- sql – 为什么使用EXECUTE IMMEDIATE运行此查询会导致它失败
- 高版本sql数据库备份还原低版本怎样实现?
- SQL 计算一个数据库中所有表记录的数量
- sql-server – 由于’XTP_CHECKPOINT’,数据库’database_n
站长推荐
热点阅读

