T-SQL:WHERE ID IN (2,3,4,5)。LINQ to SQL 極簡單:
string[] ids = { "AROUT", "BOLID", "FISSA" };
var q = (from o in db.Orders
where ids.Contains(o.CustomerID)
select o).ToList();
轉譯 SQL:
WHERE [t0].[CustomerID] IN (@p0, @p1, @p2)
-- @p0='AROUT', @p1='BOLID', @p2='FISSA'
也可內建陣列:new string[] { ... }.Contains(o.CustomerID)。
var q = (from o in db.Orders
where !(new string[] { "AROUT", "BOLID", "FISSA" }).Contains(o.CustomerID)
select o).ToList();
T-SQL LIKE 三大基本模式:
SELECT * FROM table WHERE id LIKE '%AD%' -- 包含
SELECT * FROM table WHERE id LIKE '%AD' -- 結尾
SELECT * FROM table WHERE id LIKE 'AD%' -- 開頭
LINQ 對應 Contains、EndsWith、StartsWith,下節詳細展開。