這裏的陣列上是我的代碼:LINQ到SQL:使用部分匹配的字符串包含字符串
string[] customerNames = searchModel.CustomerName.Split(',');
query = query.Where(d => customerNames.Contains(d.CustomerName, comparer) || customerNames.Contains(d.Company1.CompanyName, comparer));
,如果你只是尋找精確匹配其中一期工程。不過,我想部分匹配,即:如果customerNames包含一個元素'ell'
,它會選擇d如果d.CustomerName
是'Hello'
因爲「ELL」是「你好」
我試圖重寫EqualityComparer,但我相信它是試圖在比較器中使用GetHashCode
函數而不是Equals
,我不知道該如何實現。
我應該怎麼辦?
類似的問題:http://stackoverflow.com/questions/3748289/linq2sql-like-command-for-phrase – Rudis
GetHashCode不能保證防止碰撞,所以你可以肯定還有更多的事情。 – Casey