![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linq
yw1688
这个作者很懒,什么都没留下…
展开
-
LINQ to SQL语句(1)之Where
Where操作 适用场景:实现过滤,查询等功能。 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。 Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下: 1.简单形式: 例如:使用where筛选在伦敦的客户 var q = from c in db.C转载 2012-12-14 14:34:22 · 286 阅读 · 0 评论 -
LINQ to SQL语句(15)之String
字符串(String) LINQ to SQL支持以下String方法。但是不同的是默认情况下System.String方法区分大小写。而SQL则不区分大小写。 1.字符串串联(String Concatenation) var q = from c in db.Customers select new { c.CustomerID,转载 2012-12-14 15:04:00 · 295 阅读 · 0 评论 -
LINQ to SQL语句(16)之对象标识
对象标识 运行库中的对象具有唯一标识。引用同一对象的两个变量实际上是引用此对象的同一实例。你更改一个变量后,可以通过另一个变量看到这些更改。关系数据库表中的行不具有唯一标识。由于每一行都具有唯一的主键,因此任何两行都不会共用同一键值。 实际上,通常我们是将数据从数据库中提取出来放入另一层中,应用程序在该层对数据进行处理。这就是 LINQ to SQL 支持的模型。将数据作为行从数据库中提取转载 2012-12-14 15:05:00 · 300 阅读 · 0 评论 -
LINQ to SQL语句(4)之Join
Join操作符 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等。对各个表之间的关系,就用这些实现对多个表的操作。 说明:在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择)和GroupJoin(分组Join查询)。 该扩展方法对两个序列中键匹配的元素进行inner join操作 SelectMany 说明:我们转载 2012-12-14 14:40:22 · 323 阅读 · 0 评论 -
LINQ to SQL语句(10)之Insert
插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库。 NorthwindDataContext db = new NorthwindDataContext(); var newCustomer = new Customer { CustomerID = "MCSF转载 2012-12-14 14:49:39 · 309 阅读 · 0 评论 -
LINQ to SQL语句(12)之Delete和使用Attach
删除(Delete) 1.简单形式 说明:调用DeleteOnSubmit方法即可。 OrderDetail orderDetail = db.OrderDetails.First (c => c.OrderID == 10255 && c.ProductID == 36); db.OrderDetails.DeleteOnSubmit(orderDetail); d转载 2012-12-14 15:02:16 · 328 阅读 · 0 评论 -
LINQ to SQL语句(17)之对象加载
对象加载 延迟加载 在查询某对象时,实际上你只查询该对象。不会同时自动获取这个对象。这就是延迟加载。 例如,您可能需要查看客户数据和订单数据。你最初不一定需要检索与每个客户有关的所有订单数据。其优点是你可以使用延迟加载将额外信息的检索操作延迟到你确实需要检索它们时再进行。请看下面的示例:检索出来CustomerID,就根据这个ID查询出OrderID。 var custs =转载 2012-12-14 15:07:55 · 279 阅读 · 0 评论 -
LINQ to SQL语句(18)之运算符转换
运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable 可返回类型化为泛型 IEnumerable 的参数。在此示例中,LINQ to SQL(使用默认泛型 Query)会尝试将查询转换为 SQL 并在服务器上执行。但 where 子句引用用户定义的客户端方法 (isValidProduct),此方法无法转换为 SQL。 解转载 2012-12-14 15:08:46 · 329 阅读 · 0 评论 -
List<T>排序
摘要:在面向对象开发过程中我们经常将一组对象放到一个特定集合中,此时我们通常使用泛型集合来存放,常见的如:List 、Dictionary等。在使用这些泛型集合时我们有时需要对其进行排序,下面我们就一块看一下List如何进行排序(像Dictionary也有其相应的排序方式,例如说使用Linq语法方式,今天暂且不说)。 主要内容: 初始工作默认排序方式通过自定义比较器进行排序设定排序范围转载 2013-05-21 16:19:56 · 550 阅读 · 0 评论 -
LINQ to SQL语句(13)之开放式并发控制和事务
Simultaneous Changes开放式并发控制 下表介绍 LINQ to SQL 文档中涉及开放式并发的术语: 术语 说明 并发 两个或更多用户同时尝试更新同一数据库行的情形。 并发冲突 两个或更多用户同时尝试向一行的一列或多列提交冲突值的情形。 并发控制 用于解决并发冲突的技术。 开放式并转载 2012-12-14 15:02:57 · 491 阅读 · 0 评论 -
LINQ to SQL语句(6)之Group By/Having
Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围。 说明:分配并返回对传入参数进行分组操作后的可枚举对象。分组;延迟 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By按CategoryID划分产转载 2012-12-14 14:45:13 · 342 阅读 · 0 评论 -
LINQ to SQL语句(9)之Top/Bottom和Paging和SqlMethods
Top/Bottom操作 适用场景:适量的取出自己想要的数据,不是全部取出,这样性能有所加强。 Take 说明:获取集合的前n个元素;延迟。即只返回限定数量的结果集。 var q = ( from e in db.Employees orderby e.HireDate select e) .Take(5); 语句描述:选择所雇用的前5个雇转载 2012-12-14 14:48:41 · 448 阅读 · 0 评论 -
LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
Count/Sum/Min/Max/Avg操作符 适用场景:统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数。 Count 说明:返回集合中的元素个数,返回INT类型;不延迟。生成SQL语句为:SELECT COUNT(*) FROM 1.简单形式: 得到数据库中客户的数量: var q = db.Customers.Count(); 2.带条转载 2012-12-14 14:38:17 · 349 阅读 · 0 评论 -
LINQ to SQL语句(8)之Concat/Union/Intersect/Except
Concat/Union/Intersect/Except操作 适用场景:对两个集合的处理,例如追加、合并、取相同项、相交项等等。 Concat(连接) 说明:连接不同的集合,不会自动过滤相同项;延迟。 1.简单形式: var q = ( from c in db.Customers select c.Phone ).C转载 2012-12-14 14:48:08 · 326 阅读 · 0 评论 -
LINQ to SQL语句(11)之Update
更新(Update) 说明:更新操作,先获取对象,进行修改操作之后,直接调用SubmitChanges()方法即可提交。注意,这里是在同一个DataContext中,对于不同的DataContex看下面的讲解。 1.简单形式 Customer cust = db.Customers.First(c => c.CustomerID == "ALFKI"); cust.Conta转载 2012-12-14 15:01:31 · 387 阅读 · 0 评论 -
LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
ADO.NET与LINQ to SQL 它基于由 ADO.NET 提供程序模型提供的服务。因此,我们可以将 LINQ to SQL 代码与现有的 ADO.NET 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to SQL。 1.连接 在创建 LINQ to SQL DataContext 时,可以提供现有 ADO.NET 连接。对 DataContext转载 2012-12-14 15:09:28 · 278 阅读 · 0 评论 -
LINQ to SQL语句(20)之存储过程
存储过程 在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些。下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下。 1.标量返回 在数据库中,有名为Customers Count By Region的存储过程。该存储过程返回顾客所在"WA"区域的数量。 ALTER PROCEDURE [dbo].[NonRow转载 2012-12-14 15:10:41 · 341 阅读 · 0 评论 -
LINQ to SQL语句(2)之Select/Distinct
摘要:这个系列的第二篇,了解Select/Distinct操作符用法。 [1] Select介绍1 [2] Select介绍2 [3] Select介绍3和Distinct介绍 本系列文章导航 LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct LINQ to SQL语句(3)之Count/Sum/Min/Max转载 2012-12-14 14:34:54 · 408 阅读 · 0 评论 -
LINQ to SQL语句(5)之Order By
Order By操作 适用场景:对查询出的语句进行排序,比如按时间排序等等。 说明:按指定表达式对集合排序;延迟,:按指定表达式对集合排序;延迟,默认是升序,加上descending表示降序,对应的扩展方法是OrderBy和OrderByDescending 1.简单形式 这个例子使用 orderby 按雇用日期对雇员进行排序: var q = from e in转载 2012-12-14 14:44:04 · 370 阅读 · 0 评论 -
LINQ to SQL语句(7)之Exists/In/Any/All/Contains
Exists/In/Any/All/Contains操作符 适用场景:用于判断集合中元素,进一步缩小范围。 Any 说明:用于判断集合中是否有元素满足某一条件;不延迟。(若条件为空,则集合只要不为空就返回True,否则为False)。有2种形式,分别为简单形式和带条件形式。 1.简单形式: 仅返回没有订单的客户: var q = from c in db.Customers转载 2012-12-14 14:46:17 · 376 阅读 · 0 评论 -
List<T>采用delegate快速实现排序、查找等操作
.NET中的List非常方便,但是很遗憾得是没有自带更方便的一些排序、查找函数。比如说,Sort()和Find()方法都包含在List里,但果你想使用,你得自己写函数。这往往会让我们感到不爽。本文告诉你,其实这些Sort() Find()方法想要的都只是一个一句话delegate而已。 声明:本文讨论非LINQ的方法,适用于.NET2.0以上平台 主要讨论以转载 2013-05-21 16:20:53 · 599 阅读 · 0 评论