字串(String)

LINQ to SQL支援以下String方法。但是不同的是預設情況下System.String方法區分大小寫。而SQL則不區分大小寫。

1.字串串聯(String Concatenation)

var q = from c in db.Customers
        select new
        {
            c.CustomerID,
            Location = c.City + ", " + c.Country
        };

語句描述:這個例子使用+運算子在形成經計算得出的客戶Location值過程中將字串欄位和字串串聯在一起。

2.String.Length

var q = from p in db.Products
        where p.ProductName.Length < 10
        select p;

語句描述:這個例子使用Length屬性查找名稱短於10個字元的所有產品。

3.String.Contains(substring)

var q = from c in db.Customers
        where c.ContactName.Contains("Anders")
        select c;

語句描述:這個例子使用Contains方法查找所有其連絡人姓名中包含“Anders”的客戶。

4.String.IndexOf(substring)

var q = from c in db.Customers
        select new
        {
            c.ContactName,
            SpacePos = c.ContactName.IndexOf(" ")
        };

語句描述:這個例子使用IndexOf方法查找每個客戶連絡人姓名中出現第一個空格的位置。

5.String.StartsWith(prefix)

var q = from c in db.Customers
        where c.ContactName.StartsWith("Maria")
        select c;

語句描述:這個例子使用StartsWith方法查找連絡人姓名以“Maria”開頭的客戶。

6.String.EndsWith(suffix)

var q = from c in db.Customers
        where c.ContactName.EndsWith("Anders")
        select c;

語句描述:這個例子使用EndsWith方法查找連絡人姓名以“Anders”結尾的客戶。

7.String.Substring(start)

var q = from p in db.Products
        select p.ProductName.Substring(3);

語句描述:這個例子使用Substring方法返回產品名稱中從第四個字母開始的部分。

8.String.Substring(start, length)

var q = from e in db.Employees
        where e.HomePhone.Substring(6, 3) == "555"
        select e;

語句描述:這個例子使用Substring方法查找家庭電話號碼第七位到第九位是“555”的雇員。

9.String.ToUpper()

var q = from e in db.Employees
        select new
        {
            LastName = e.LastName.ToUpper(),
            e.FirstName
        };

語句描述:這個例子使用ToUpper方法返回姓氏已轉換為大寫的雇員姓名。

10.String.ToLower()

var q = from c in db.Categories
        select c.CategoryName.ToLower();

語句描述:這個例子使用ToLower方法返回已轉換為小寫的類別名稱。

11.String.Trim()

var q = from e in db.Employees
        select e.HomePhone.Substring(0, 5).Trim();

語句描述:這個例子使用Trim方法返回雇員家庭電話號碼的前五位,並移除前導和尾隨空格。

12.String.Insert(pos, str)

var q = from e in db.Employees
        where e.HomePhone.Substring(4, 1) == ")"
        select e.HomePhone.Insert(5, ":");

語句描述:這個例子使用Insert方法返回第五位為 ) 的雇員電話號碼的序列,並在 ) 後面插入一個 :。

13.String.Remove(start)

var q = from e in db.Employees
        where e.HomePhone.Substring(4, 1) == ")"
        select e.HomePhone.Remove(9);

語句描述:這個例子使用Remove方法返回第五位為 ) 的雇員電話號碼的序列,並移除從第十個字元開始的所有字元。

14.String.Remove(start, length)

var q = from e in db.Employees
        where e.HomePhone.Substring(4, 1) == ")"
        select e.HomePhone.Remove(0, 6);

語句描述:這個例子使用Remove方法返回第五位為 ) 的雇員電話號碼的序列,並移除前六個字元。

15.String.Replace(find, replace)

var q = from s in db.Suppliers
        select new
        {
            s.CompanyName,
            Country = s.Country
                       .Replace("UK", "United Kingdom")
                       .Replace("USA", "United States of America")
        };

語句描述:這個例子使用 Replace 方法返回 Country 欄位中UK 被替換為 United Kingdom 以及USA 被替換為 United States of America 的供應商資訊。

arrow
arrow
    文章標籤
    LINQ LINQ to SQL
    全站熱搜

    Jimmy 發表在 痞客邦 留言(0) 人氣()