简体   繁体   English

具有功能的天蓝色表存储中的多个查询参数

[英]Multiple query parameter in azure table storage with function

Can not pass two parameter on azure table storage within azure function.无法在 azure 函数内的 azure 表存储上传递两个参数。

What I have tried:我试过的:

My parameter on function:我的功能参数:

        // 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;

My storage query我的存储查询

 var query = new TableQuery()
                {
                    FilterString = TableQuery.GenerateFilterCondition("ProductName", QueryComparisons.Equal, product),
                    SelectColumns = new string[] {
                    "ProductName","EntitledProductsCurrentPrevious","MainstreamSupportEndDate"
                },
                    TakeCount = 200
                };

Here I have passed on param "product" Its work fine and return expected data.在这里,我传递了参数“product”,它工作正常并返回预期数据。 but I want to pass also version.但我也想通过版本。 Similar like sql WHERE product = 'proudctname' and version = 'versionName'类似于 sql WHERE product = 'proudctname' and version = 'versionName'

Just Like following TSQL就像跟随 TSQL

SELECT Product,EntitledProductsCurrentPrevious,MainstreamSupportEndDate 
FROM BotProductList 
WHERE Product = 'Microsoft Dynamics CRM' AND 
EntitledProductsCurrentPrevious = '2016'

I have followed below reference:我遵循以下参考:

reference_1 参考_1

reference_2 参考资料_2

reference_3 参考资料_3

But Still cannot solve it.但仍然无法解决。

Any help will be appreciated.任何帮助将不胜感激。

Try string finalFilter = TableQuery.CombineFilters(productQuery, TableOperators.And, versionQuery);试试string finalFilter = TableQuery.CombineFilters(productQuery, TableOperators.And, versionQuery); instead.反而。

After many struggling I have solved this problem in below format:经过多次努力,我用以下格式解决了这个问题:

var query = new TableQuery()
                {
                    FilterString = string.Format("PartitionKey eq '{0}' and RowKey eq '{1}'", product, version),
                    SelectColumns = new string[] {
                    "ProductName","EntitledProductsCurrentPrevious","MainstreamSupportEndDate"
                },
                    TakeCount = 200
                };

It also reduced some line of code.它还减少了一些代码行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM