我正在尝试编写一个包含 IN 子句的参数化查询。
对于前:
工作代码
输入字符串:“'guid1','guid2','guid3'”
public List<Employee> GetEmployeeIds(string ids){
QueryDefinition query =new QueryDefinition(@"Select * from Employee where Employee.Id in ("+ ids+")");
var result = GetDetails(query,cosmosClient);
return result;
}
Run Code Online (Sandbox Code Playgroud)
结果:返回预期结果
非工作代码
输入字符串:“'guid1','guid2','guid3'”
public List<Employee> GetEmployeeIds(string ids){
QueryDefinition query =new QueryDefinition(@"Select * from Employee where Employee.Id in ( @ids )")
.WithParameter("@ids", ids);
var result = GetDetails(query,cosmosClient);
return result;
}
Run Code Online (Sandbox Code Playgroud)
结果:返回0
上述代码使用的NuGet包: Microsoft.Azure.Cosmos 3.8.0
注意:我已尝试此链接中提到的所有选项,但它不适用于 CosmosClient QueryDefinition 对象 WHERE IN 与 Azure DocumentDB (CosmosDB) .Net SDK
对此的任何帮助都将受到高度赞赏。
提前致谢。!!
.net c# azure-cosmosdb azure-cosmosdb-sqlapi asp.net-core-3.1