昨天測試一下,直接查 List<String> contains 的語法,沒有問題。
今天試一下,直接對字串查詢,Bingo,是Like 的效果。
Ref:
Linq 中使用 Select Where In List 條件
在Linq中使用Like
C#3.0入门系列(十一)-之In, Like操作
var list = new List<string>() {"ASUS_PC","Acer_PC","BenQ", "Toshiba", "IBM", "HP", "Dell", "PChome"};
var s1 = list.Where(p => p.Contains("PC"));
var s2 = list.Where(p => p.StartsWith("PC"));
var s3 = list.Where(p => p.EndsWith("PC"));
s1.Dump();
s2.Dump();
s3.Dump();
Result:
如果你用SqlMethods.Like,因為只支援 Linq to SQL,自然跳出錯誤訊息。
方法 'Boolean Like(System.String, System.String)' 不可使用於用戶端; 它只適用於轉譯為 SQL。 |