首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 3.0 入門系列(十一):Like 基礎——Contains/StartsWith/EndsWith 與 SqlMethods.Like 對應關係

     編輯:關於C語言

三大字串方法對應 LIKE 模式

LINQ to SQL 將字串實例方法轉譯為 LIKE:

方法模式SQL 參數
Contains("ROUT")包含子字串'%ROUT%'
EndsWith("ISSA")以指定字串結尾'%ISSA'
StartsWith("ARO")以指定字串開頭'ARO%'

程式碼範例與轉譯 SQL

Contains

var q = (from c in db.Customers
         where c.CustomerID.Contains("ROUT")
         select c).ToList();
WHERE [t0].[CustomerID] LIKE @p0  -- @p0 = '%ROUT%'

EndsWith

var q = (from c in db.Customers
         where c.CustomerID.EndsWith("ISSA")
         select c).ToList();
WHERE [t0].[CustomerID] LIKE @p0  -- @p0 = '%ISSA'

StartsWith

var q = (from c in db.Customers
         where c.CustomerID.StartsWith("ARO")
         select c).ToList();
WHERE [t0].[CustomerID] LIKE @p0  -- @p0 = 'ARO%'

SqlMethods.Like 手動指定模式

當需求超出三大方法(如中間通配、多段通配)時,改用 SqlMethods.Like:

var q = (from c in db.Customers
         where SqlMethods.Like(c.CustomerID, "%ROUT%")
         select c).ToList();

var q = (from c in db.Customers
         where SqlMethods.Like(c.CustomerID, "%ISSA")
         select c).ToList();

此時由開發者自行撰寫完整 LIKE 模式字串,彈性最大。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved