使用LINQ 的Contains 方法進行不區分大小寫的字串比較
在LINQ 查詢中進行字串比較時,必須考慮區分大小寫。預設情況下,Contains 方法區分大小寫,這表示「CaseSensitive」和「casesensitive」將不符。
問題:
在以下 LINQ 查詢中,我們的目標是根據描述過濾器擷取 FACILITY_ITEM 實體。但是,查詢目前區分大小寫,可能無法傳回所需的結果。
public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }
解:
為了讓比較不區分大小寫,我們可以在執行 Contains 檢查之前使用 ToLower() 方法。這會將描述過濾器和資料庫值都轉換為小寫,確保比較不區分大小寫。
fi => fi.DESCRIPTION.ToLower().Contains(description.ToLower())
透過使用此更新的表達式,查詢將傳回設施項目描述與描述過濾器相符的結果,無論大小寫。
以上是如何使用 LINQ 的 Contains 方法執行不區分大小寫的字串比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!