2017-02-23 58 views
1

我有这样的代码:DocumentDb需要64位

  var list = _client.CreateDocumentQuery<MatchActivityDataModel>(_collection.SelfLink, sql, new FeedOptions() { EnableCrossPartitionQuery = false }); 
      var result = list.ToList(); 

其中SQL是SqlQuerySpec对象。它导致错误:“在32位进程中运行时,无法从查询中提取分区路由信息。要完成查询并避免此异常,请确保您的主机进程是64位。”

我知道如何通过在64位进程中运行它来修复它。但是,我在Azure托管我的应用程序,并且使用64托管它迫使我升级到更昂贵的层(我不从这个应用程序赚钱,所以我宁愿将它保持在最低层级上)。有没有办法让它在32位环境下工作?我的收藏没有分区。

+0

这是关于这个错误的git问题:https://github.com/Azure/azure-documentdb-dotnet/issues/140 –

回答

3

.NET SDK 1.11.3修复了这个问题。您可以在该版本中以32位模式创建单个分区集合。

从1.11.4开始,我们还支持在32位模式下创建分区集合或执行交叉分区查询。

32位模式性能稍差,但如果您有升级到64位的限制,应该没问题。

请让我知道,如果这可以解决您的问题升级到最新的SDK后。

+0

谢谢,更新到1.12,它现在可以工作。 –

相关问题