【问题标题】:Select distinct on DocumentDB and C#在 DocumentDB 和 C# 上选择不同的
【发布时间】:2019-02-10 03:26:29
【问题描述】:

我在使用 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

错误从何而来?

【问题讨论】:

  • 尝试转义 BMW 的报价。试试“宝马”。
  • 如果你有强类型对象,不妨试试LINQ
  • @RafatSarosh 我已经这样做了。然而,查询在第二个不同的单词处中断
  • @bit 我没有使用强类型对象

标签: c# azure-cosmosdb document-database


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多