- 1、本文档共231页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
4.3.9Refresh方法Refresh方法用于根据数据库中的数据更新内存中的实体类对象的状态。在多用户并发访问数据库的情况下,此方法可以获知数据库中的必威体育精装版数据。Refresh方法的原型如下。//Refresh方法第一个原型voidRefresh(RefreshModemode,objectentity)//Refresh方法第二个原型voidRefresh(RefreshModemode,paramsobject[]entities)//Refresh方法第三个原型voidRefresh(RefreshModemode,System.Collections.IEnumerableentities)4.3.10GetChangeSet方法GetChangeSet方法用于获取实体类对象中发生更改的集合。由于SubmitChanges方法将会根据更改的对象集合来生成相应的SQL语句发送给数据库,通过GetChangeSet方法可以获知哪些对象信息将会保存到数据库中。GetChangeSet方法的原型定义如下。//GetChangeSet方法原型ChangeSetGetChangeSet()此方法返回一个ChangeSet对象,ChangeSet对象包含Inserts、Updates和Deletes这3个属性。4.3.11Log属性Log属性用于输出DataContex对象与数据库通信时使用的SQL语句信息。DataContex对象负责将实体类的更改转换成SQL语句发送给数据库执行,最终发送给数据库的SQL语句内容保存在Log属性中,可以根据此属性内容进行调试、优化等工作。属性的类型为System.IO.TextWriter,在使用时只需指定一个TextWriter类型对象给Log属性,DataContex对象将信息自动发送到TextWriter对象。4.3.12实体跟踪服务DataContex对象作为LINQtoSQL中最重要的一个组件,专门用于处理与数据库相关的操作,本身提供了许多非常重要的服务功能,实体跟踪服务(IdentityTracking)就是这些服务中的一种。4.3.13更改跟踪服务更改跟踪服务(ChangeTracking)是DataContex对象提供的另外一种非常重要的服务。自从DataContex对象查询数据库生成实体类对象并在实体类对象上启动实体跟踪服务开始后,更改跟踪服务会一直跟踪实体类对象的所有更改信息,直到该实体类对象被SubmitChanges方法将更改信息保存到数据库中为止。4.4标准数据库操作本节将介绍如何使用LINQtoSQL执行标准的数据库操作,即插入、修改、查询以及删除操作等。4.4.1IQueryableT泛型接口本书第2章介绍了表达式树,表达式树可以在系统运行时动态编译成一段可执行代码,由于在运行时进行动态编译,系统可以在执行时将一组相关的表达式树优化组合一起编译,提高查询效率,实现某些特定的功能。下面的代码使用了Lambda表达式查询满足特定条件的元素。//使用Lambda表达式查询数组元素int[]nums=newint[]{6,2,7,1,9,3};IEnumerableintnumsLessThanFour=nums.Where(i=i4).OrderBy(i=i);
4.4.2插入操作插入操作(Inserts)在LINQtoSQL中非常简单,首先实例化一个实体类对象;然后将该实体类对象添加到一个类型为TableT的集合中,或者添加到一个类型为EntitySetT的集合中,这里的类型T为该实体类;最后,调用DataContex对象的SubmitChanges方法保存插入结果。
4.4.3查询操作LINQtoSQL中的查询(Queries)语句与LINQtoOBJECT中的查询语句用法非常相似,但是在底层实现上差别很大。首先,LINQtoSQL中的查询返回结果类型为IQueryableT,而不是IEnumerableT,这主要是为了利用表达式树功能。例如,下面的LINQtoSQL查询代码返回的结果类型为IQueryableT。
4.4.3查询操作//使用LINQtoSQL查询数据库stringsql=DataSource=localhost;InitialCatalog=LinqTestDatabase;UserID=sa;
Password=sql;DataContextdc=newDataContext(sql);//TableT
文档评论(0)