- 浏览: 60003 次
- 性别:
- 来自: 北京
最新评论
-
chungle:
hatedance 写道这个page method返回的是ht ...
使用 jQuery 调用 ASP.NET AJAX Page Method -
hatedance:
这个page method返回的是html片段吗?也就是说只能 ...
使用 jQuery 调用 ASP.NET AJAX Page Method
Order By操作
适用场景:对查询出的语句进行排序,比如按时间排序等等。
说明:按指定表达式对集合排序;延迟,:按指定表达式对集合排序;延迟,默认是升序,加上descending表示降序,对应的扩展方法是OrderBy和OrderByDescending
1.简单形式
这个例子使用 orderby 按雇用日期对雇员进行排序:
var q = from e in db.Employees orderby e.HireDate select e;
说明:默认为升序
2.带条件形式
注意:Where和Order By的顺序并不重要。而在T-SQL中,Where和Order By有严格的位置限制。
var q = from o in db.Orders where o.ShipCity == "London" orderby o.Freight select o;
语句描述:使用where和orderby按运费进行排序。
3.降序排序
var q = from p in db.Products orderby p.UnitPrice descending select p;
4.ThenBy
语句描述:使用复合的 orderby 对客户进行排序,进行排序:
var q = from c in db.Customers orderby c.City, c.ContactName select c;
说明:按多个表达式进行排序,例如先按City排序,当City相同时,按ContactName排序。这一句用Lambda表达式像这样写:
var q =
.OrderBy(c => c.City)
.ThenBy(c => c.ContactName).ToList();
在T-SQL中没有ThenBy语句,其依然翻译为OrderBy,所以也可以用下面语句来表达:
var q =
db.Customers
.OrderBy(c => c.ContactName)
.OrderBy(c => c.City).ToList();
所要注意的是,多个OrderBy操作时,级连方式是按逆序。对于降序的,用相应的降序操作符替换即可。
var q =
db.Customers
.OrderByDescending(c => c.City)
.ThenByDescending(c => c.ContactName).ToList();
需要说明的是,OrderBy操作,不支持按type排序,也不支持匿名类。比如 会被抛出异常。错误是前面的操作有匿名类,再跟OrderBy时,比较的是类别。比如 如果你想使用OrderBy(c => c),其前提条件是,前面步骤中,所产生的对象的类别必须为C#语言的基本类型。比如下句,这里City为string类型。 这两个扩展方式都是用在OrderBy/OrderByDescending之后的,第一个ThenBy/ThenByDescending扩展方法作为第二位排序依据,第二个ThenBy/ThenByDescending则作为第三位排序依据,以此类推 语句描述:使用orderby先按发往国家再按运费从高到低的顺序对 EmployeeID 1 的订单进行排序。 语句描述:使用orderby、Max 和 Group By 得出每种类别中单价最高的产品,并按 CategoryID 对这组产品进行排序。var q =
db.Customers
.OrderBy(c => new
{
c.City,
c.ContactName
}).ToList();
var q =
db.Customers
.Select(c => new
{
c.City,
c.Address
})
.OrderBy(c => c).ToList();
var q =
db.Customers
.Select(c => c.City)
.OrderBy(c => c).ToList();
5.ThenByDescending
var q =
from o in db.Orders
where o.EmployeeID == 1
orderby o.ShipCountry, o.Freight descending
select o;
6.带GroupBy形式
var q =
from p in db.Products
group p by p.CategoryID into g
orderby g.Key
select new {
g.Key,
MostExpensiveProducts =
from p2 in g
where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
select p2
};
发表评论
-
LINQ简介
2009-06-10 16:58 645查询表达式(LINQ)简介 在上两篇我介绍了C#3. ... -
LINQ to SQL语句(25)之继承
2009-06-10 16:57 776继承支持 LINQ to SQL 支持单表映射,其整 ... -
LINQ to SQL语句(23)之动态查询
2009-06-10 16:55 1294动态查询 有这样一 ... -
LINQ to SQL语句(22)之DataContext
2009-06-10 16:54 697DataContext DataContext作 ... -
LINQ to SQL语句(21)之用户定义函数
2009-06-10 16:52 706用户定义函数 我们 ... -
LINQ to SQL语句(20)之存储过程
2009-06-10 16:51 721存储过程 在我们编写程序中,往往需要一些存储过程,在 ... -
LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
2009-06-10 16:50 792ADO.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 591对象加载 延迟加载 在查询某对象时,实际上你只查询该对 ... -
LINQ to SQL语句(16)之对象标识
2009-06-10 16:47 522对象标识 运行库中的对象具有唯一标识。引用同一 ... -
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 916Null语义 说明:下面第一个例子说明查询Reports ... -
LINQ to SQL语句(13)之开放式并发控制和事务
2009-06-10 16:45 722Simultaneous 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 1044Concat/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语句(6)之Group By/Having
2009-06-10 16:38 1084Group By/Having操作符 适用场景:分组 ...
相关推荐
LINQ to SQL语句之Join和Order By部分代码 语句描述:这个例子在From子句中使用外键导航筛选在西雅图的雇员,同时列出其所在地区。这条生成SQL语句为: SELECT [t0].[FirstName], [t0].[LastName], [t2]....
由于LINQ延迟执行,直到你真正遍历结果集时才会执行SQL语句。 ```csharp foreach (var customer in pagedQuery) { // 处理每个customer对象 } ``` 5. **优化性能**:在某些情况下,为了提高性能,你可能需要...
本篇文章将深入探讨LINQ to SQL语句中关于“Top”、“Bottom”、分页(Paging)以及SqlMethods的相关知识。 首先,让我们来理解“Top”和“Bottom”这两个概念。在SQL中,`TOP`用于选取结果集的前N行,而“Bottom”...
- **Linq To Sql集成**:Linq To Sql支持直接调用数据库中的用户自定义函数,无需额外的SQL语句编写,进一步提高了代码的可读性和维护性。 #### 5. Linq To Sql进阶系列(五)StoreProcedure篇 ##### 存储过程与...
在本篇内容中,我们将深入探讨LINQ to SQL语句中的运算符转换,这是理解并有效利用LINQ to SQL的关键知识点。 1. **运算符重载** 在LINQ to SQL中,查询表达式通常涉及各种算术、比较和逻辑运算符。这些运算符在C#...
在本篇主题“LINQ to SQL语句(23)之动态查询”中,我们将深入探讨如何在运行时构建和执行查询,这对于处理不确定的数据访问需求或构建高度可配置的应用程序特别有用。 动态查询是LINQ的一个关键特性,它允许我们...
【LINQ to SQL语句(15)之String】深入解析 LINQ(Language Integrated Query,语言集成查询)是.NET框架中的一个强大工具,它允许开发者在编程语言中直接书写查询,无需离开代码环境去编写SQL语句。在这个主题中,...
它提供了将数据库表映射到.NET Framework中类的能力,允许开发人员通过编写LINQ查询而不是SQL语句来操作数据。 #### 二、LINQ to SQL 的基本概念 - **数据上下文(DataContext)**:用于连接数据库并管理对数据库...
- **查询操作**:LINQ To SQL 提供了一系列查询方法,如 Select、Where、OrderBy 等,这些方法可以帮助开发者轻松地构建复杂的查询逻辑。 - **数据修改**:除了查询之外,LINQ To SQL 还支持数据的插入、更新和删除...
- **日志功能**:DataContext支持日志记录,可以通过设置Log属性将查询转换的SQL语句和执行结果输出到日志,方便调试和性能分析。 3. LINQ to SQL的操作 - **查询**:使用查询表达式或方法语法,可以从...
"LINQ to SQL"是LINQ的一个特定实现,它允许开发者直接在SQL Server数据库上执行查询,将SQL语句转换为.NET代码,极大地简化了数据访问层的操作。本学习资料包涵盖了并发控制、事务管理、查询语法以及存储过程等多个...
浅谈Linq to sql 的多表关联与动态条件查询 Linq to sql 是一种强大的数据查询语言,它可以帮助开发者快速、高效地访问和操作数据库数据。在本文中,我们将讨论 Linq to sql 的多表关联和动态条件查询这两个重要的...
在本篇中,我们将深入探讨如何使用LINQ to SQL执行高级查询,特别是`Order By`和`Group By`操作。 **1. `Order By`操作** `Order By`操作用于对查询结果进行排序。在C#中,我们可以使用`orderby`关键字来实现这...
通过使用LINQ to SQL,可以避免编写SQL语句,提高代码的可读性和可维护性,同时提供编译时错误检查和性能优化。 2. **LINQ to DataSet**: 在.NET环境中,DataSet通常用于存储和操作离线数据。LINQ to DataSet扩展...
5. LINQ to SQL语句之OrderBy:OrderBy用于对数据进行排序。排序可以是简单的升序或降序,也可以结合ThenBy或ThenByDescending进行多级排序。GroupBy的带条件形式、带GroupBy形式也是本章节的关键知识点。 6. LINQ ...
5. **LINQ操作**:可以使用各种LINQ操作符(如Where、Select、OrderBy等)对XML元素进行过滤、转换和排序。 教程中虽然制作较为粗糙,但作为学习LINQ的基础教材,它能帮助开发者快速理解并掌握这两种技术。通过实际...
除了以上的基本操作,LINQ to SQL还支持排序(`OrderBy`, `OrderByDescending`)、分页(`Skip`和`Take`)、聚合函数(如`Sum`, `Average`, `Max`, `Min`)等。同时,你可以使用`Any`检查是否存在满足条件的记录,`...
本篇将详细讲解LINQ to SQL中的"Order By"语句。 "Order By"关键字在SQL中用于对查询结果进行排序,而在LINQ to SQL中,这一功能同样得以保留。在C#或VB.NET中,我们可以直接在查询表达式中使用"OrderBy"或...
- **查询数据**:Linq提供了丰富的查询表达式,如Where、Select、OrderBy等。 ```csharp var result = (from t in db.MyTable where t.Name == "SomeName" select t).ToList(); ``` - **更新数据**:直接修改对象...