DocumentDB SQL字符串在Query Explorer中工作,但在C#代码

时间:2016-01-05 15:31:21

标签: c# sql azure-cosmosdb

当我在查询资源管理器中运行此查询时...

Select quote from sqs quote
join product in quote.QuotedProductList 
join part in product.PartNumberList 
WHERE part.id = 'Part-XXXX-XX' AND quote.QuoteStatus = 'Draft'

..在DocumentDB中,我得到两个引号,其中包含在结果窗格中显示的相应产品和零件数据;这是对的。  但是,当我在C#中创建相同的查询时,我得到两个由构造函数创建的引用对象,但数据库中没有数据......

List<Quote> hits = new List<Quote>();
            string sql = "Select quote from sqs quote join product in quote.QuotedProductList join part in product.PartNumberList WHERE part.id = '" + partNumber + "' AND quote.QuoteStatus = 'Draft'";
hits = Client.CreateDocumentQuery<Quote>(Collection.DocumentsLink, sql).ToList();

任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

试试这个

从quote中的sqs quote join product中选择quote.quote。在product.PartNumberList中加入part.ID =&#39;&#34; + partNumber +&#34;&#39;和quote.QuoteStatus =&#39;草案&#39;&#34 ;;