LINQ體驗(8)—LINQ to SQL語句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
我們繼續講解LINQ to SQL語句,這篇我們來討論Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 。
Union All/Union/Intersect操作
適用場景:對兩個集合的處理,例如追加、合並、取相同項、相交項等等。
Concat(連接)
說明:連接不同的集合,不會自動過濾相同項;延遲。
1.簡單形式: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
);
語句描述:返回所有消費者和雇員的電話和傳真。
2.復合形式: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
);
語句描述:查詢顧客和職員所在的國家。