首页 > 解决方案 > 在 DocumentDB 和 C# 上选择不同的

问题描述

我在使用 C# 从我的 DocumentDB 中检索数据时遇到了挑战。

当我在 Azure DocumentDB 数据资源管理器中运行以下查询时,我得到了预期的结果。忽略包含查询的使用,这是一个动态制作的查询

select distinct c.model from c   where  ( CONTAINS (c.manufacturer, \"BMW\") )

尝试在 c# 上运行相同的查询给我一个错误

var dblink = UriFactory.CreateDocumentCollectionUri(ConfigurationManager.AppSettings["DocumentDbDatabase"], "Conversation");
var models = _dbclient.CreateDocumentQuery<dynamic>(dblink, "select distinct c.model from c   where  ( CONTAINS (c.manufacturer, "BMW") )").ToList();

我得到的错误是incorrect syntax near distinct

错误来自哪里?

标签: c#azure-cosmosdbdocument-database

解决方案


您可能想要升级到最新的 .Net SDK (v1.22.0)。

鉴于最近添加了对 DISTINCT 的支持,此处的语法错误来自 SDK 而不是查询服务。升级到最新的 SDK 应该可以解决这个问题。


推荐阅读