ImageVerifierCode 换一换
格式:DOCX , 页数:135 ,大小:149.92KB ,
资源ID:27014985      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27014985.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LINQtoSQL语法及实例大全.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LINQtoSQL语法及实例大全.docx

1、LINQtoSQL语法及实例大全LINQ To SQL 语法及实例大全2011/4/5目录LINQ to SQL语句(1)之Where 2Where操作 21.简单形式: 22.关系条件形式: 23.First()形式: 3LINQ to SQL语句(2)之Select/Distinct 31.简单用法: 42.匿名类型 形式: 43.条件形式: 54.指定类 型形式: 65.筛选形式: 66.shaped形式(整形类型): 67.嵌套类型形式: 78.本地方法调用 形式(LocalMethodCall): 79.Distinct形式: 8LINQ to SQL语句(3)之Count/Sum/

2、Min/Max/Avg 91.简单形式: 92.带条件形 式: 91.简单形式: 102.映射形式: 103.元素 : 111.简单形式: 112.映射形式: 113.元素: 111.简单形式: 122.映射形式: 123.元素: 12LINQ to SQL语句(4)之Join 13Join操作符 131.一对多关系(1 to Many): 132.多对多关系(Many to Many): 143.自联接关系: 151.双向联接(Two way join): 152.三向联接(There way join): 163.左外部联接(Left Outer Join): 174.投影的Let赋值(P

3、rojected let assignment): 175.组合键(Composite Key): 186.可为null/不可为null的键关系 (Nullable/Nonnullable Key Relationship): 19LINQ to SQL语句(5)之Order By 19Order By操作 191.简单形式 192.带条件形式 203.降序排序 204.ThenBy 205.ThenByDescending 226. 带GroupBy形式 22LINQ to SQL语句(6)之Group By/Having 23Group By/Having操作符 231.简单形式: 232

4、.Select匿名类 : 243.最大 值 254.最小 值 265.平均 值 266.求和 267.计数 278.带条件计数 279.Where限制 2810.多列(Multiple Columns) 2811.表达式(Expression) 29LINQ to SQL语句(7)之Exists/In/Any/All/Contains 29Exists/In/Any/All/Contains操作符 29Any 291.简单形式: 292.带条件形式: 30All 30Contains 311.包含一个对象: 312.包含多个值: 32LINQ to SQL语句(8)之Concat/Union/

5、Intersect/Except 32Concat/Union/Intersect/Except操作 32Concat(连接) 321.简单形式: 332.复 合形式: 33Union(合并) 33Intersect(相交) 34Except(与非) 34LINQ to SQL语句(9)之Top/Bottom和Paging和SqlMethods 35Top/Bottom操作 35Take 35Skip 35TakeWhile 36SkipWhile 36Paging(分页)操作 361.索引 362.按唯一键排序 36SqlMethods操作 37Like 37已编译查 询操作(Compile

6、d Query) 38LINQ to SQL语句(10)之Insert 38插入(Insert)1.简单形式 382.一对多 关系 393.多对多关系 394.使用动态CUD重写(Override using Dynamic CUD) 40LINQ to SQL语句(11)之Update 41更新(Update) 411.简单形式 412.多项更改 41LINQ to SQL语句(12)之Delete和使用Attach 42删除(Delete)1.简单形式 422.一对多关系 423.推理删除(Inferred Delete) 43使用Attach更新(Update with Attach)

7、43LINQ to SQL语句(13)之开放式并发控制和事务 46Simultaneous Changes开放式并发控制 46开放式并发(Optimistic Concurrency) 461.Implicit(隐式) 482.Explicit(显式) 48LINQ to SQL语句(14)之Null语义和DateTime 49Null语义 491.Null 492.Nullable.HasValue 50日期函数 501.DateTime.Year 512.DateTime.Month 513.DateTime.Day 51LINQ to SQL语句(15)之String 51字符串(Str

8、ing) 511.字符 串串联(String Concatenation) 522.String.Length 523.String.Contains(substring) 524.String.IndexOf(substring) 525.String.StartsWith (prefix) 536.String.EndsWith(suffix) 537.String.Substring(start) 538.String.Substring (start, length) 539.String.ToUpper() 5410.String.ToLower() 5411.String.Trim

9、() 5412.String.Insert(pos, str) 5413.String.Remove(start) 5514.String.Remove(start, length) 5515.String.Replace(find, replace) 55LINQ to SQL语句(16)之对象标识 56对象标识 56对象缓存 56LINQ to SQL语句(17)之对象加载 57对象加载延迟加载 57预先加载:LoadWith 方法 58LINQ to SQL语句(18)之运算符转换 591.AsEnumerable:将类型转换为泛型 IEnumerable 592.ToArray:将序列

10、转换为数组 593.ToList:将序列转换为 泛型列表 594.ToDictionary:将序 列转化为字典 60LINQ to SQL语句(19)之ADO.NET与LINQ to SQL 601.连接 612.事务 61LINQ to SQL语句(20)之存储过程 631.标量返回 632.单一结 果集 643.多个可 能形状的单一结果集 654.多个结果集 705.带输出参数 79LINQ to SQL语句(21)之用户定义函数 801.在Select中使用用户定义的标量函数 802.在Where从句中 使用用户定义的标量函数 813.使用用户定义的表值函数 834.以联接方式使用用户定

11、义的表值函数 84LINQ to SQL语句(22)之DataContext 85创建和删除数据库 85数据库验证 88数据库更改 88动态查询 89日志 90LINQ to SQL语句(23)之动态查询 901.Select 912.Where 92LINQ to SQL语句(24)之视图 94LINQ to SQL语句(25)之继承 961.一般形式 972.OfType形式 983.IS形式 984.AS形式 995.Cast形式 996.UseAsDefault形式 1007.插入新的记录 101LINQ to SQL语句(1)之WhereWhere操作适用场景:实现过滤,查询等功能。

12、说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的子句。Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下 面分别用实例举例下:1.简单形式:例如:使用where筛选在伦敦的客户var q =from c in db.Customerswhere c.City = Londonselect c;再如:筛选1994 年或之后雇用的雇员:var q =from e in db.Employeeswhere e.HireDate = new DateTime(1994, 1, 1)select e;2.关系条件形式:

13、筛选库存量在订货点水平之下但未断货的产品:var q =from p in db.Productswhere p.UnitsInStock 10m | p.Discontinuedselect p;下面这个例子是调用两次where以筛选出UnitPrice大于10且已停产的产品。var q =db.Products.Where(p=p.UnitPrice 10m).Where (p=p.Discontinued);3.First()形式:返回集合中的一个元素,其实质就是在SQL语句中加TOP (1)。简单用法:选择表中的第一个发货方。Shipper shipper = db.Shippers.

14、First();元素:选择CustomerID 为“BONAP”的单个客户Customer cust = db.Customers.First(c = c.CustomerID = BONAP);条件:选择运费大于 10.00 的订单:Order ord = db.Orders.First(o = o.Freight 10.00M);LINQ to SQL语句(2)之Select/Distinct1 Select介绍12 Select介绍23 Select介绍3和 Distinct介绍Select/Distinct操作符适用场景:o(_) o 查询呗。说明:和SQL命令中的select作用相似

15、但位置不同, 查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结 果返回回来;延迟。Select/Distinct操作包括9种形式,分别为简单用 法、匿名类型形式、条件形式、指定类型形式、筛选形式、整形类型形式、嵌套 类型形式、本地方法调用形式、Distinct形式。1.简单用法:这个示 例返回仅含客户联系人姓名的序列。var q =from c in db.Customersselect c.ContactName;注意:这个语句 只是一个声明或者一个描述,并没有真正把数据取出来,只有当你需要该数据的 时候,它才会执行这个语句,这就是延迟加载(deferred lo

16、ading)。如果,在声 明的时候就返回的结果集是对象的集合。你可以使用ToList() 或ToArray()方法 把查询结果先进行保存,然后再对这个集合进行查询。当然延迟加载(deferred loading)可以像拼接SQL语句那样拼接查询语法,再执行它。2.匿名类型 形式:说明:匿名类型是C#3.0中新特性。其实质是编译器根据我们自定义自 动产生一个匿名的类来帮助我们实现临时变量的储存。匿名类型还依赖于另外一 个特性:支持根据property来创建对象。比如,var d = new Name = s ;编译器自动产生一个有property叫做Name的匿名类,然后按这 个类型分配内存,并

17、初始化对象。但是var d = new s;是编译不 通过的。因为,编译器不知道匿名类中的property的名字。例如string c = d;var d = new c; 则是可以通过编译的。编译器会创建一个叫 做匿名类带有叫c的property。例如下例:new c,ContactName,c.Phone;ContactName和Phone都是在映射文件中定义与表中字 段相对应的property。编译器读取数据并创建对象时,会创建一个匿名类,这个 类有两个属性,为ContactName和Phone,然后根据数据初始化对象。另外编译器 还可以重命名property的名字。var q =fro

18、m c in db.Customersselect new c.ContactName, c.Phone;上 面语句描述:使用 SELECT 和匿名类型返回仅含客户联系人姓名和电话号码的序 列var q =from e in db.Employeesselect newName = e.FirstName + + e.LastName,Phone = e.HomePhone;上面 语句描述:使用SELECT和匿名类型返回仅含雇员姓名和电话号码的序列,并将 FirstName和LastName字段合并为一个字段“Name”,此外在所得的 序列中将HomePhone字段重命名为Phone。var

19、q =from p in db.Productsselect new p.ProductID,HalfPrice = p.UnitPrice / 2 /给定值 ;上面语句描述:使用SELECT和匿名类型返回所有产品的ID以及 HalfPrice(设置为产品单价除以2所得的值)的序列。3.条件形式:说 明:生成SQL语句为:case when condition then else。var q =from p in db.Productsselect newp.ProductName,Availability = p.UnitsInStock - p.UnitsOnOrder 0.0 selec

20、t od,FreeShippingDiscount = o.Freight;语句描述:使用嵌套查询返回所有订单及其OrderID 的序列 、打折订单中项目的子序列以及免送货所省下的金额。8.本地方法调用 形式(LocalMethodCall):这个例子在查询中调用本地方法 PhoneNumberConverter将电话号码转换为国际格式。var q = from c in db.Customers where c.Country = UK | c.Country = USA select new c.CustomerID, c.CompanyName, Phone = c.Phone, Int

21、ernationalPhone = PhoneNumberConverter(c.Country, c.Phone) ;/电话号码转为国际格式 并且重命名PhoneNumberConverter方法如下:public string PhoneNumberConverter(string Country, string Phone)Phone = Phone.Replace( , ).Replace (), )-);switch (Country) case USA:return 1- + Phone;case UK: return 44- + Phone;default: return Pho

22、ne;下面也是使用了这个方法将电 话号码转换为国际格式并创建XDocumentXDocument doc = new XDocument(new XElement(Customers, from c in db.Customerswhere c.Country = UK | c.Country = USAselect (new XElement (Customer,new XAttribute (CustomerID, c.CustomerID),new XAttribute(CompanyName, c.CompanyName), new XAttribute(InterationalPho

23、ne, PhoneNumberConverter(c.Country, c.Phone) );9.Distinct形式:说明:筛选字段中不相同的值 。用于查询不重复的结果集。生成SQL语句为:SELECT DISTINCT City FROM Customersvar q = (from c in db.Customersselect c.City ).Distinct();语句描述:查询顾 客覆盖的国家。LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg1 Count/Sum讲解2 Min讲解3 Max讲解4 Average和Aggregate讲解Count/Sum

24、/Min/Max/Avg操作符适用场景: 统计数据吧,比如统计一些数据的个数,求和,最小值,最大值,平均数。Count说明:返回集合中的元素个数,返回INT类型;不延迟。生成 SQL语句为:SELECT COUNT(*) FROM1.简单形式:得到数据库中客户 的数量:var q = db.Customers.Count();/总记录数2.带条件形 式:得到数据库中未断货产品的数量:var q = db.Products.Count(p = !p.Discontinued);/条件放在括号中LongCount说明 :返回集合中的元素个数,返回LONG类型;不延迟。对于元素个数较多的集合可 视情

25、况可以选用LongCount来统计元素个数,它返回long类型,比较精确。生成 SQL语句为:SELECT COUNT_BIG(*) FROMvar q = db.Customers.LongCount();Sum说明:返回集合中数值类型元素 之和,集合应为INT类型集合;不延迟。生成SQL语句为:SELECT SUM() FROM1.简单形式:得到所有订单的总运费:var q = db.Orders.Select(o = o.Freight).Sum();db.Order.select :筛选db.Order.where:筛选2.映射形式:得 到所有产品的订货总数:var q = db.Products.Sum(p = p.UnitsOnOrder);Min说明:返回集合中元素的最小值;不延迟。 生成SQL语句为:SELECT MIN() FROM1.简单形式:查找任 意产品的最低单价:var q = db.Products.Select(p = p.UnitPrice).Min();2.映射形式:查找任意订单的最低运费:var q = db.Orders.Min(o = o.Freight);条件直接放在括号后面3.元素 :查找每个类别中单价最低的产品:var categories =from p in db

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1