LINQ(6)

2019-04-15 20:11

], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[Country], [t1].[Phone], [t1].[Fax]

ntactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0], [t0].[Fax]

分组

描述:根据顾客的国家分组,查询顾客数大于5的国家名和顾客数 查询句法:

Select count(guke) from Customers grop by Country var 一般分组 = from c in ctx.Customers group c by c.Country into g where g.Count() > 5

orderby g.Count() descending select new {

国家 = g.Key,

顾客数 = g.Count() }; 对应SQL:

SELECT [t1].[Country], [t1].[value3] AS [顾客数] FROM (

SELECT COUNT(*) AS [value], COUNT(*) AS [value2], COUNT(*) AS [value3], [t0].[Country] FROM [dbo].[Customers] AS [t0] GROUP BY [t0].[Country] ) AS [t1]

WHERE [t1].[value] > @p0

ORDER BY [t1].[value2] DESC

-- @p0: Input Int32 (Size = 0; Prec = 0; Scale = 0) [5]

描述:根据国家和城市分组,查询顾客覆盖的国家和城市 查询句法:

var 匿名类型分组 = from c in ctx.Customers group c by new { c.City, c.Country } into g orderby g.Key.Country, g.Key.City select new {

国家 = g.Key.Country, 城市 = g.Key.City };

对应SQL:

SELECT [t1].[Country], [t1].[City] FROM (

SELECT [t0].[City], [t0].[Country] FROM [dbo].[Customers] AS [t0] GROUP BY [t0].[City], [t0].[Country] ) AS [t1]

ORDER BY [t1].[Country], [t1].[City]

描述:按照是否超重条件分组,分别查询订单数量 查询句法:

var 按照条件分组 = from o in ctx.Orders

group o by new { 条件 = o.Freight > 100 } into g select new {

数量 = g.Count(),

是否超重 = g.Key.条件 ? \是\否\ }; 对应SQL:

SELECT (CASE

WHEN [t2].[value2] = 1 THEN @p1 ELSE @p2

END) AS [value], [t2].[value] AS [数量] FROM (

SELECT COUNT(*) AS [value], [t1].[value] AS [value2] FROM ( SELECT (CASE

WHEN [t0].[Freight] > @p0 THEN 1

WHEN NOT ([t0].[Freight] > @p0) THEN 0 ELSE NULL END) AS [value]

FROM [dbo].[Orders] AS [t0] ) AS [t1]

GROUP BY [t1].[value] ) AS [t2]

-- @p0: Input Currency (Size = 0; Prec = 19; Scale = 4) [100] -- @p1: Input String (Size = 1; Prec = 0; Scale = 0) [是] -- @p2: Input String (Size = 1; Prec = 0; Scale = 0) [否]

distinct

描述:查询顾客覆盖的国家 查询句法:

var 过滤相同项 = (from c in ctx.Customers orderby c.Country select c.Country).Distinct();

对应SQL:

SELECT DISTINCT [t0].[Country] FROM [dbo].[Customers] AS [t0] union

描述:查询城市是A打头和城市包含A的顾客并按照顾客名字排序 查询句法:

var 连接并且过滤相同项 = (from c in ctx.Customers where c.City.Contains(\

(from c in ctx.Customers where c.ContactName.StartsWith(\

对应SQL:

.[CompanyName], [t3].[ContactName], [t3].[ContactTitle], [t3].[Address], [t3].[City], [t3].[Region], [t3].[PostalCode], [t3].[

.[CompanyName], [t2].[ContactName], [t2].[ContactTitle], [t2].[Address], [t2].[City], [t2].[Region], [t2].[PostalCode], [t2].[

.[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[AS [t0] @p0

.[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[AS [t1]

] LIKE @p1

ame]

3; Prec = 0; Scale = 0) [%A%]

2; Prec = 0; Scale = 0) [A%]

concat

描述:查询城市是A打头和城市包含A的顾客并按照顾客名字排序,相同的顾客信息不会过滤 查询句法:

var 连接并且不过滤相同项 = (from c in ctx.Customers where c.City.Contains(\

(from c in ctx.Customers where c.ContactName.StartsWith(\

对应SQL:

SELECT [t3].[CustomerID], [t3].[CompanyName], [t3].[ContactName], [t3].[ContactTitle], [t3].[Address], [t3].[City], [t3].[Region], [t3].[PostalCode], [t3].[Country], [t3].[Phone], [t3].[Fax] FROM (

SELECT [t2].[CustomerID], [t2].[CompanyName], [t2].[ContactName], [t2].[ContactTitle], [t2].[Address], [t2].[City], [t2].[Region], [t2].[PostalCode], [t2].[Country], [t2].[Phone], [t2].[Fax] FROM (

SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax] FROM [dbo].[Customers] AS [t0] WHERE [t0].[City] LIKE @p0 UNION ALL

SELECT [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[Country], [t1].[Phone], [t1].[Fax] FROM [dbo].[Customers] AS [t1]


LINQ(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于中国航空发动机的最新报道 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: