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

LINQ to SQL 集合運算:Concat、Union、Intersect、Except 四大運算子詳解

     編輯:關於.NET

四大集合運算子比較

運算子行為去重複
Concat連接兩序列,保留所有元素否
Union合併兩序列,移除重複是
Intersect取兩序列交集是
Except第一序列減去第二序列是

皆為延遲執行。

程式碼範例

Concat:合併電話與傳真

var q = (from c in db.Customers select c.Phone)
        .Concat(from c in db.Customers select c.Fax)
        .Concat(from e in db.Employees select e.HomePhone);

Concat 複合投影:客戶與員工姓名電話

var q = (from c in db.Customers select new { Name = c.CompanyName, c.Phone })
        .Concat(from e in db.Employees select new { Name = e.FirstName + " " + e.LastName, Phone = e.HomePhone });

Union:客戶與員工所在國家

var q = (from c in db.Customers select c.Country)
        .Union(from e in db.Employees select e.Country);

Intersect:客戶與員工共同國家

var q = (from c in db.Customers select c.Country)
        .Intersect(from e in db.Employees select e.Country);

Except:僅客戶所在國家(排除員工國家)

var q = (from c in db.Customers select c.Country)
        .Except(from e in db.Employees select e.Country);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved