我有一個 LINQ 查詢,我需要在通過 C# 中的 LINQ 構建的查詢中使用 CosmosDB ToString方法。但是我一直無法弄清楚如何做到這一點。簡單地在物體值的 C# LINQ 運算式中呼叫 ToString() 是行不通的。
我正在嘗試對數字值進行“包含”搜索。我無法更改型別,也無法添加將數字轉換為字串的重復欄位。
基本上我需要的是這個(在 where 子句中):
CONTAINS(ToString(root["MyProperty"]), "MySearchValue")
我當前的 LINQ 查詢是這樣的(MyProperty 是 long 型別):
query.Where(x => x.MyProperty.ToString().Contains("MySearchValue"))
但這會生成以下 SQL:
CONTAINS(root["MyProperty"], "MySearchValue")
這不起作用,因為 MyProperty 是一個數字,所以 Contains 方法總是回傳 false。
所以我的問題是:如何修改我的 LINQ 查詢以將數字值包裝在 ToString() 方法中,就像上面的第一個代碼示例一樣?或者目前這甚至可能嗎?
uj5u.com熱心網友回復:
這個問題實際上有一個錯誤修復等待合并:https ://github.com/Azure/azure-cosmos-dotnet-v3/pull/3385 這是否適用于您的具體情況?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/515611.html
標籤:C#林克天蓝色宇宙数据库
下一篇:如何創建動態Linq運算式
