【问题标题】:How to insert C# variables in Azure Blob Index Queries如何在 Azure Blob 索引查询中插入 C# 变量
【发布时间】:2021-12-31 02:56:58
【问题描述】:

在这里查看 MS Docs:

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-index-how-to?tabs=net

给出了一些查询示例:

// Blob index queries and selection
String singleEqualityQuery = @"""Archive"" = 'false'";
String andQuery = @"""Archive"" = 'false' AND ""Priority"" = '01'";
String rangeQuery = @"""Date"" >= '2020-04-20' AND ""Date"" <= '2020-04-30'";
String containerScopedQuery = @"@container = 'mycontainer' AND ""Archive"" = 'false'";

这些示例毫无用处,因为现实世界中没有人会使用静态值对查询进行硬编码。

如果我在使用“AND”语句时尝试将变量插入查询,则字符串将无法编译。示例:

var varibale1 = "test1";
var varibale2 = "test2";
// Not working!
query = @"""folderDepth"" = '" + varibale1 + "' AND ""parentFolder"" = 'hardCodedvalue'";
// Hard coded values
query = @"""folderDepth"" = 'test1' AND ""parentFolder"" = 'test2'";

【问题讨论】:

标签: c# azure-blob-storage


【解决方案1】:

下面的屏幕截图显示了我尝试使用的 MS 代码示例:

上述示例查询中的每个索引标记都包含在两组双引号中。这将一直有效,直到我开始将变量插入查询中,如下所示:

对我有用的查询是转义字符串中的第二个索引标记,即 ParentFolder。

// -----------------------------
// ----- Tested and worked -----
// -----------------------------
string query4 = @"""FolderDepth"" = '" + varibale1 + "' AND \"ParentFolder\" = '" + varibale2 + "'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2022-11-03
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多