簡體   English   中英

.NET 包含不工作的核心過濾器

[英].NET Core filter with contains not working

好的,所以我搜索了這個並找到了各種似乎是正確答案的東西,但我似乎無法讓它工作。 我想我很接近。

我已經讓這段代碼在我的 controller 中工作,我從數據表服務器端 ajax 調用它:

 var shares = await _dataService.GetAllAgencyShares();
            if (!string.IsNullOrEmpty(sortColumn) && !string.IsNullOrEmpty(sortColumnDirection))
            {
                shares = shares.AsQueryable().OrderBy(sortColumn + " " + sortColumnDirection);
                
            }
            if (!string.IsNullOrEmpty(searchValue))
            {
                
                shares = shares.Where(m => m.FirstName == searchValue
                         || m.LastName == searchValue
                         || m.AgencyName == searchValue
                         || m.FormId.ToString() == searchValue);
                
            }
 recordsTotal = shares.Count();
            var data = shares.Skip(skip).Take(pageSize).ToList();
            var jsonData = new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data };
            return Ok(jsonData);

問題是我想要搜索部分

if (!string.IsNullOrEmpty(searchValue))
{
 shares = shares.Where(m => m.FirstName == searchValue
                         || m.LastName == searchValue
                         || m.AgencyName == searchValue
                         || m.FormId.ToString() == searchValue);
}
 recordsTotal = shares.Count();
 var data = shares.Skip(skip).Take(pageSize).ToList();
 var jsonData = new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = 
 recordsTotal, data = data };
 return Ok(jsonData);

查找“類似”searchValue 的任何內容。 目前這會找到完全匹配。

我試過使用 Contains,但我相信它是 boolean。我發現的大多數東西都使用 EF 並使用 IQueryable——我沒有使用 EF。 我試圖將 IEnumerable 轉換為 Queryable,但似乎沒有任何效果。

您究竟是如何使用.Contains()

如果這樣實現,效果很好;

shares = shares.Where(m => m.FirstName.Contains(searchValue)
                         || m.LastName.Contains(searchValue)
                         || m.AgencyName.Contains(searchValue)
                         || m.FormId.ToString().Contains(searchValue));

暫無
暫無

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

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