使用Cosmos DB的带有文档字段的参数化输入

时间:2019-05-14 01:14:16

标签: sql azure-cosmosdb azure-cosmosdb-sqlapi

我想将参数化查询与文档字段以及Cosmos DB的指定字段中的值一起使用。 https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-sql-query#parameterized-queries

例如:

SELECT *
FROM Families f
WHERE @field = @value 

我希望能够为f.lastName指定@field,为Smith指定@value

这不可能吗?尝试通过.NET SDK进行此操作,无论我做什么都似乎不起作用。

2 个答案:

答案 0 :(得分:0)

根据link中的示例,不支持@field = @value

SELECT *
    FROM Families f
    WHERE f.lastName = @lastName AND f.address.state = @addressState

如果您的过滤器列灵活,则可以自己将查询sql拼接为String。

'SELECT *
FROM Families f
WHERE ' + filterColumn + ' = @value'

答案 1 :(得分:0)

我找到了一种方法。

您可以使用Quoted Property Accessor

这是您的操作方式:

SELECT *
FROM Families f
WHERE f[@field] = @value