- 浏览: 59988 次
- 性别:
- 来自: 北京
最新评论
-
chungle:
hatedance 写道这个page method返回的是ht ...
使用 jQuery 调用 ASP.NET AJAX Page Method -
hatedance:
这个page method返回的是html片段吗?也就是说只能 ...
使用 jQuery 调用 ASP.NET AJAX Page Method
适用场景:分组数据,为我们查找数据缩小范围。 说明:分配并返回对传入参数进行分组操作后的可枚举对象。分组;延迟 语句描述:使用Group By按CategoryID划分产品。 说明:from p in db.Products 表示从表中将产品对象取出来。group p by p.CategoryID into g表示对p按CategoryID字段归类。其结果命名为g,一旦重新命名,p的作用域就结束了,所以,最后select时,只能select g。当然,也不必重新命名可以这样写: 我们用示意图表示: 如果想遍历某类别中所有记录,这样: 说明:在这句LINQ语句中,有2个property:CategoryID和g。这个匿名类,其实质是对返回结果集重新进行了包装。把g的property封装成一个完整的分组。如下图所示: 如果想遍历某匿名类中所有记录,要这么做:
语句描述:使用Group By和Max查找每个CategoryID的最高单价。 说明:先按CategoryID归类,判断各个分类产品中单价最大的Products。取出CategoryID值,并把UnitPrice值赋给MaxPrice。 语句描述:使用Group By和Min查找每个CategoryID的最低单价。 说明:先按CategoryID归类,判断各个分类产品中单价最小的Products。取出CategoryID值,并把UnitPrice值赋给MinPrice。 语句描述:使用Group By和Average得到每个CategoryID的平均单价。 说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的平均值。 语句描述:使用Group By和Sum得到每个CategoryID 的单价总计。 说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的总和。
语句描述:使用Group By和Count得到每个CategoryID中产品的数量。 说明:先按CategoryID归类,取出CategoryID值和各个分类产品的数量。 语句描述:使用Group By和Count得到每个CategoryID中断货产品的数量。 说明:先按CategoryID归类,取出CategoryID值和各个分类产品的断货数量。 Count函数里,使用了Lambda表达式,Lambda表达式中的p,代表这个组里的一个元素或对象,即某一个产品。 语句描述:根据产品的―ID分组,查询产品数量大于10的ID和产品数量。这个示例在Group By子句后使用Where子句查找所有至少有10种产品的类别。 说明:在翻译成SQL语句时,在最外层嵌套了Where条件。 语句描述:使用Group By按CategoryID和SupplierID将产品分组。 说明:既按产品的分类,又按供应商分类。在by后面,new出来一个匿名类。这里,Key其实质是一个类的对象,Key包含两个Property:CategoryID、SupplierID。用g.Key.CategoryID可以遍历CategoryID的值。 语句描述:使用Group By返回两个产品序列。第一个序列包含单价大于10的产品。第二个序列包含单价小于或等于10的产品。 说明:按产品单价是否大于10分类。其结果分为两类,大于的是一类,小于及等于为另一类。Group By/Having操作符
1.简单形式:
var q =
from p in db.Products
group p by p.CategoryID into g
select g;
var q =
from p in db.Products
group p by p.CategoryID;
foreach (var gp in q)
{
if (gp.Key == 2)
{
foreach (var item in gp)
{
//do something
}
}
}
2.Select匿名类:
var q =
from p in db.Products
group p by p.CategoryID into g
select new { CategoryID = g.Key, g };
foreach (var gp in q)
{
if (gp.CategoryID == 2)
{
foreach (var item in gp.g)
{
//do something
}
}
}
3.最大值
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
MaxPrice = g.Max(p => p.UnitPrice)
};
4.最小值
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
MinPrice = g.Min(p => p.UnitPrice)
};
5.平均值
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
AveragePrice = g.Average(p => p.UnitPrice)
};
6.求和
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
TotalPrice = g.Sum(p => p.UnitPrice)
};
7.计数
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
NumProducts = g.Count()
};
8.带条件计数
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
NumProducts = g.Count(p => p.Discontinued)
};
9.Where限制
var q =
from p in db.Products
group p by p.CategoryID into g
where g.Count() >= 10
select new {
g.Key,
ProductCount = g.Count()
};
10.多列(Multiple Columns)
var categories =
from p in db.Products
group p by new
{
p.CategoryID,
p.SupplierID
}
into g
select new
{
g.Key,
g
};
11.表达式(Expression)
var categories =
from p in db.Products
group p by new { Criterion = p.UnitPrice > 10 } into g
select g;
发表评论
-
LINQ简介
2009-06-10 16:58 644查询表达式(LINQ)简介 在上两篇我介绍了C#3. ... -
LINQ to SQL语句(25)之继承
2009-06-10 16:57 775继承支持 LINQ to SQL 支持单表映射,其整 ... -
LINQ to SQL语句(23)之动态查询
2009-06-10 16:55 1293动态查询 有这样一 ... -
LINQ to SQL语句(22)之DataContext
2009-06-10 16:54 696DataContext DataContext作 ... -
LINQ to SQL语句(21)之用户定义函数
2009-06-10 16:52 705用户定义函数 我们 ... -
LINQ to SQL语句(20)之存储过程
2009-06-10 16:51 721存储过程 在我们编写程序中,往往需要一些存储过程,在 ... -
LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
2009-06-10 16:50 791ADO.NET与LINQ to SQL 它基于由 A ... -
LINQ to SQL语句(18)之运算符转换
2009-06-10 16:49 865运算符转换 1.AsEnumerable:将类型转换为泛 ... -
LINQ to SQL语句(17)之对象加载
2009-06-10 16:48 590对象加载 延迟加载 在查询某对象时,实际上你只查询该对 ... -
LINQ to SQL语句(16)之对象标识
2009-06-10 16:47 521对象标识 运行库中的对象具有唯一标识。引用同一 ... -
LINQ to SQL语句(15)之String
2009-06-10 16:46 791字符串(String) LINQ t ... -
LINQ to SQL语句(14)之Null语义和DateTime
2009-06-10 16:46 915Null语义 说明:下面第一个例子说明查询Reports ... -
LINQ to SQL语句(13)之开放式并发控制和事务
2009-06-10 16:45 721Simultaneous Changes开放 ... -
LINQ to SQL语句(12)之Delete和使用Attach
2009-06-10 16:44 755删除(Delete) 1.简单形式 说明:调用Dele ... -
LINQ to SQL语句(11)之Update
2009-06-10 16:43 788更新(Update) 说明:更新操作,先获取对象,进行修 ... -
LINQ to SQL语句(10)之Insert
2009-06-10 16:42 786插入(Insert) 1.简单形式 说明:new一个对 ... -
LINQ to SQL语句(9)之Top/Bottom和Paging和SqlMethods
2009-06-10 16:42 1017Top/Bottom操作 适用场景:适量的取出自己想要的 ... -
LINQ to SQL语句(8)之Concat/Union/Intersect/Except
2009-06-10 16:41 1043Concat/Union/Intersect/Ex ... -
LINQ to SQL语句(7)之Exists/In/Any/All/Contains
2009-06-10 16:39 1403Exists/In/Any/All/Contains操 ... -
LINQ to SQL语句(5)之Order By
2009-06-10 16:36 1036Order By操作 适用场景:对查询出的语句进行 ...
相关推荐
6. LINQ to SQL语句之GroupBy/Having:GroupBy操作符用于对数据进行分组,而Having则用于在分组的基础上进行条件筛选。它们可以用于实现数据的聚合操作,包括计算最大值、最小值、平均值、求和和计数等。 7. LINQ ...
在本篇中,我们将深入探讨如何使用LINQ to SQL执行高级查询,特别是`Order By`和`Group By`操作。 **1. `Order By`操作** `Order By`操作用于对查询结果进行排序。在C#中,我们可以使用`orderby`关键字来实现这...
**LINQ to SQL**是Microsoft .NET Framework中的一个组件,它提供了一种将数据从数据库映射到内存中的对象的方式,允许开发人员使用面向对象的编程语言(如C#或VB.NET)来操作数据库,而无需编写SQL语句。...
"LINQ体验(7)——LINQ to SQL语句之Group By、Having和Exists、In、Any、All、Contains.docx"深入讲解了更复杂的查询操作,如分组(Group By)、基于分组条件的过滤(Having)、存在性检查(Exists)、成员关系测试...
通过一系列文章,作者详细介绍了如何使用LINQ to SQL进行基础和高级查询操作,包括Where、Select、Distinct、Count、Sum、Min、Max、Avg、Join、Order By、Group By、Having、Exists、In、Any、All、Contains、Union...
LINQ_to_SQL是.NET框架中的一个组件,它支持对象关系映射(ORM),允许开发者以面向对象的方式操作数据库,从而不需要写SQL语句。Linq_to_SQL的主要知识点包括它的核心操作和对应的语法实例,以下是对给定文件中提及...
**LINQ_TO_SQL**是一种用于Microsoft .NET Framework的技术,它允许开发人员使用面向对象的方式来进行数据库的操作,而无需编写复杂的SQL语句。LINQ_TO_SQL提供了一种简洁的方法来执行常见的数据操作,如查询、插入...
6. **组操作**:`Group By`、`Having`、`Exists`、`In`、`Any`、`All`和`Contains`这些关键字都是用于对数据进行分组、过滤和统计的,它们在数据处理中扮演着重要角色。 7. **动态查询**:`动态查询`可能介绍了如何...
5. **分组与分组函数**:GROUP BY用于将数据分组,HAVING用于对分组后的数据进行筛选。 6. **排序与分页**:ORDER BY用于排序结果,LIMIT或OFFSET用于实现分页。 7. **集合操作**:UNION、INTERSECT和EXCEPT用于...
首先,我们需要了解SQL语句中的GROUP BY子句。在SQL中,GROUP BY用于将数据表中的数据按一个或多个列进行分组,以便我们可以对每个组执行聚合函数,如COUNT(), SUM(), AVG(), MAX()和MIN()。在C#中,我们可以使用ADO...
#### 二、LINQ to SQL语句详解 ##### 1. Where操作 - **简单形式**:`var result = from p in db.Products where p.UnitPrice > 5 select p;` - 这里`db.Products`是一个包含所有产品的集合,`p.UnitPrice > 5`是...
### LINQtoSQL语句(6)之GroupBy/Having 用于对数据进行分组和进一步筛选。 - **简单形式**:如`var groupedResults = from p in db.Products group p by p.Category into g select new { Category = g.Key, Count ...
- LINQ to SQL:一种编程语法,允许在C#或VB.NET中直接书写查询,与SQL语句等效,提高了代码可读性和维护性。 5. 实例源代码: 这个压缩包很可能包含了一个完整的Web应用项目,可能包括数据库脚本、ASP.NET页面...
- 基本查询:SELECT语句用于检索数据,WHERE子句用于设定查询条件,GROUP BY和HAVING用于数据分组,ORDER BY用于排序结果。 2. **Visual Studio与SQL集成**: - ADO.NET:Visual Studio支持ADO.NET框架,它提供了...