簡體   English   中英

Azure Table Storage Service 2.0區分大小寫的篩選器

[英]Azure Table Storage service 2.0 case sensitive filter

如何在Azure Table storage 2.0上執行區分大小寫的篩選器?

如果我這樣做查詢
TableQuery.GenerateFilterCondition("ShortUrl", QueryComparisons.Equal, "Abc");

它將返回帶有shortUrl“ Abc”和“ ABC”的2條記錄
生成的查詢顯示如下

/devstoreaccount1/Articles?$filter=shortUrl%20eq%20%27Abc%27&timeout=90

這里是顯示1.7版本的解決方案在這里 ,但這並不適用於2.0版本。 我已經檢查了DataService文檔 ,那里沒有提到。

由於表存儲基於OData協議進行查詢,因此在比較字符串值時為何其行為不同。 我確定Odata“ eq”運算符應該區分大小寫。
使用此查詢檢查OData Api Explorer

http://services.odata.org/V3/OData/OData.svc/Products?$filter= Name eq 'Bread'

然后將其更改為面包。

根據此處的文檔:

過濾器字符串的所有部分均區分大小寫。

因此,我建議您嘗試使用真正的表存儲,而不是開發存儲。 如果您在真正的存儲服務上發現此行為,請再次在此處寫信,團隊將收到警報!

另外,請使用最新的SDK /工具(當前為2.0)。 如果在Development Storage 2.0中發現此行為,請再次更新您的問題,這可能是Development Storage中的錯誤。

但是無論如何,我建議您在測試這種“敏感”功能時使用真實的存儲帳戶。 我幾乎從不使用開發存儲帳戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM