我正在挑战使用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
错误来自哪里?
您可能希望升级到最新的.Net SDK(v1.22.0)。
这里的语法错误来自SDK而不是查询服务,因为最近添加了对DISTINCT的支持。升级到最新的SDK应该可以解决问题。