.net core 更新到dotnet 5后出现Cosmos DB TransactionalBatch错误
我的基本存储库中有一些方法可以对Cosmos DB执行一些批处理操作,它们如下所示:.net core 更新到dotnet 5后出现Cosmos DB TransactionalBatch错误,.net-core,azure-cosmosdb,azure-cosmosdb-sqlapi,.net-5,.net Core,Azure Cosmosdb,Azure Cosmosdb Sqlapi,.net 5,我的基本存储库中有一些方法可以对Cosmos DB执行一些批处理操作,它们如下所示: public async Task AddRangeAsync(List<T> entities) { var container = _cosmosDbClientFactory.GetContainer(CollectionName); var entitiesList = entities.Split(_maxItemsPerBatch).ToList(
public async Task AddRangeAsync(List<T> entities)
{
var container = _cosmosDbClientFactory.GetContainer(CollectionName);
var entitiesList = entities.Split(_maxItemsPerBatch).ToList();
foreach (var items in entitiesList)
{
var partitionKey = ResolvePartitionKey(items.FirstOrDefault());
var transactionalBatch = container.CreateTransactionalBatch(partitionKey);
items.ToList().ForEach(item => transactionalBatch.CreateItem(item));
var result = await transactionalBatch.ExecuteAsync();
if (!result.IsSuccessStatusCode)
{
throw new CosmosDbBatchOperationException(result.ErrorMessage);
}
}
}
版本信息:
- v3.17.0上的Microsoft.Azure.Cosmos
- Dotnet 5.0.201
有人知道如何解决这个问题吗?看起来您可能遇到了与本文讨论的相同的问题
对于Microsoft.Azure.Cosmos.Serialization.HybridRow.dll,一次完整的二进制清理和重建是值得的。如果这不起作用,您可以尝试将您的详细信息添加到该问题线程。我已经检查了所有项目,它们都引用了相同的sdk版本,因此我清理了我的解决方案并删除了所有obj和bin文件夹,然后重试,但没有成功。
然后我尝试了这个,因为我使用了Microsoft.Azure.Cosmos 3.17.0和AspNetCore.HealthChecks.CosmosDb 5.0.3,所以我将AspNetCore.HealthChecks.CosmosDb降级为3.1.2版本,并且成功了。谢谢,我看到github讨论,我试图删除obj和bin文件夹,但没有修复。这可能有助于共享您的
csproj
文件或有关正在使用的依赖项的其他详细信息。
var result = await transactionalBatch.ExecuteAsync();