我想要使用兩列過濾來自數據庫的數據。爲什麼我的LINQ Where子句連接字符串並使用值調用'contains'不起作用?
的事情是,用戶只張貼一個單一的領域,我將使用該字段來檢查是否有數據庫認爲連接兩列中的值存在的任何記錄。
此刻,我有以下幾點:
query
.Where(x => string
.Concat(x.Field1, " ", x.Field2)
.Contains(parameter.MyValue, StringComparison.InvariantCultureIgnoreCase));
我的問題是,沒有被過濾的數據,這是奇怪的,有沒有人知道發生了什麼事?謝謝!
你只是調用'query.Where(...)'? 'Where' _returns_一個新的查詢,所以你需要'query = query.Where(...)'或'var filteredQuery = query.Where(...)',如果你想保持原始查詢不變。 –
在lamba中放置一個斷點並觀察匹配結果 –
@MatthewWhited這是一個將由查詢提供程序解析的表達式,而不是正在執行的方法。 – Servy