[英]Why is my Parameter not being substituted?
我正在使用以下查詢來查詢CosmosDB,由於存在ARRAY_CONTAINS,我無法使用LINQ。問題是我的應用程序崩潰,因為SQLParameter從未被替換,因此為null異常。
查詢看起來像這樣
var sqlStatement = new SqlQuerySpec
{
QueryText = "SELECT * FROM c where ARRAY_CONTAINS(c.locales[0].categories, @category)",
Parameters = new SqlParameterCollection()
{
new SqlParameter{ Name = "@category", Value = "Homeware" }
}
};
IDocumentQuery<JObject> query = client.CreateDocumentQuery<JObject>(
collectionUr
sqlStatement)
.AsDocumentQuery();
while (query.HasMoreResults)
{
items.AddRange(await query.ExecuteNextAsync<JObject>());
}
您可以參考以下對我有用的代碼:
var Parameters = new SqlParameterCollection()
{
new SqlParameter(Name = "@category", Value = "Homeware")
};
IQueryable<Pojo> queryable = client.CreateDocumentQuery<Pojo>(
uri,
new SqlQuerySpec
{
QueryText = "SELECT * FROM c where ARRAY_CONTAINS(c.locales[0].categories, " + Parameters[0].Value + ")"
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.