簡體   English   中英

Linq to SQL:使用字符串數組中的包含來部分匹配字符串

[英]Linq to SQL: Partial matching strings using contains on an array of strings

這是我的代碼:

string[] customerNames = searchModel.CustomerName.Split(',');
 query = query.Where(d => customerNames.Contains(d.CustomerName, comparer) || customerNames.Contains(d.Company1.CompanyName, comparer));

如果您只是在尋找完全匹配的內容,則可以使用。 但是我想部分匹配,即:如果customerNames包含元素'ell' ,則如果d.CustomerName'Hello' ,它將選擇d,因為'ell'在'Hello'中

我嘗試覆蓋EqualityComparer,但我相信它正在嘗試使用GetHashCode函數而不是Comparer中的Equals ,我不確定該如何實現。

我應該怎么做?

string[] customerNames = searchModel.CustomerName.Split(',');
query = query.Where(d => customerNames.Any(c => c.Contains(d.CustomerName)) || customerNames.Any(c => c.Contains(d.Company1.CompanyName)));

但是您應該知道,當customerNames包含很多項時,它可能會變慢。

暫無
暫無

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

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