在azure函数中无法在azure表存储上传递两个参数。
我尝试过的事情:
我在函数上的参数:
// convert all request perameter into Json object
var content = req.Content;
string jsonContent = content.ReadAsStringAsync().Result;
dynamic requestPram = JsonConvert.DeserializeObject<Product(jsonContent);
// extract each param
string product = requestPram.product;
string version = requestPram.version;
我的存储查询
var query = new TableQuery()
{
FilterString = TableQuery.GenerateFilterCondition("ProductName", QueryComparisons.Equal, product),
SelectColumns = new string[] {
"ProductName","EntitledProductsCurrentPrevious","MainstreamSupportEndDate"
},
TakeCount = 200
};
在这里,我已经传递了参数“产品”,它的工作正常,并返回了预期的数据。但我也想通过版本。 类似于sql WHERE产品='产品名称'和版本='版本名称'
就像遵循TSQL
SELECT Product,EntitledProductsCurrentPrevious,MainstreamSupportEndDate
FROM BotProductList
WHERE Product = 'Microsoft Dynamics CRM' AND
EntitledProductsCurrentPrevious = '2016'
我遵循以下参考文献:
但是仍然无法解决。
任何帮助将不胜感激。预先感谢。
答案 0 :(得分:1)
改为尝试string finalFilter = TableQuery.CombineFilters(productQuery, TableOperators.And, versionQuery);
。
答案 1 :(得分:1)
经过许多努力,我以以下格式解决了该问题:
var query = new TableQuery()
{
FilterString = string.Format("PartitionKey eq '{0}' and RowKey eq '{1}'", product, version),
SelectColumns = new string[] {
"ProductName","EntitledProductsCurrentPrevious","MainstreamSupportEndDate"
},
TakeCount = 200
};
它还减少了一些代码行。