您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 通用和便利的信息查询方式-培训
LINQ通用和便利的信息查询方式简介面向对象(OO)编程技术.NETLanguageIntegratedQuery(LINQ):采用通用方案来解决各种信息源的访问与整合问题语言集成查询使得查询表达式能够得益于丰富的元数据、编译时语法检查、静态输入和智能感知LanguageIntegratedQueryLINQ表达式DimwordsasString()=_{hello,wonderful,linq,beautiful,world“}DimshortWords=_FromwordInwords_Whereword.Length5_Selectword标准查询运算符“标准查询运算符”是组成语言集成查询(LINQ)模式的方法。实现了IEnumerable(Of(T)接口或IQueryable(Of(T))接口。标准查询运算符提供了包括筛选、投影、聚合、排序等功能在内的查询功能标准常用查询运算符筛选数据:Where,OfType投影运算:Select,SelectMany对数据进行排序:OrderBy,ThenBy数据分区:GroupBy限定符运算:Any,All数据分区:Take,Skip,TakeWhile,SkipWhileSet操作:Distinct,Union,Intersect,Except聚合运算:Count,Sum,Min,Max,Average转换数据类型:ToArray,ToList,ToDictionaryLINQ执行确立数据源创建查询执行查询DEMO1LINQToObjectsVB9-隐式类型本地变量(LocalTypeInference)DimNumber=31719DimMyName=Kong“DimArea=1.9DimaUser=NewUserVB9-对象初始值设置项(ObjectInitializers)PublicClassUserPublicFirstNameAsStringPublicLastNameAsStringPublicAgeAsIntegerPublicSubNew(ByVallastNameAsString)_LastName=lastNameEndSubEndClassDimuser=NewUserWith_{.Age=30,.FirstName=Yong,.LastName=Kong}Dimuser2=NewUser(Kong)With_{.Age=8,.FirstName=Yong}VB9-匿名类型(AnonymousTypes)Dimuser=NewWith_{.Age=30,.FirstName=Yong,.LastName=Kong}VB9-扩展方法(ExtensionMehtods)System.Runtime.CompilerServices.Extension()_ModuleUserHelperSystem.Runtime.CompilerServices.Extension()_PublicFunctionGetUserName(ByValuserAsUser)AsStringReturnString.Format(yourName:{0}{1},_user.FirstName,user.LastName)EndFunctionEndModule参数它表明了扩展方法与类之间的关系,这个参数是什么类型,这个方法就会被扩展到对应类型的实例上.Dimuser=NewUser(Kong,Kong)With{.Age=8}DimuserName=user.GetUserName()参数:调用方法的参数总比扩展方法的参数少1个,因为扩展方法的第1个参数,用于确定扩展方法与要扩展的类之间的关系VB9-Lambda表达式(LambdaExpressions)简单的Lambda表达式Dimlambda1=Function(x)x+1'ImplicitlytypedDimlambda2=Function(xAsInteger)x+1'ExplicitlytypedDimlambda3=Function(x,y)x*y'MultipleparametersDimlambda4=Function()1'Noparameters泛型委托DimupperImplicitAsFunc(OfString,String)=Function(s)s.ToUpper()LINQToSQL-介绍LINQtoSQL是.NETFramework3.5版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。在LINQtoSQL中,关系数据库的数据模型映射到用开发人员所用的编程语言表示的对象模型。当应用程序运行时,LINQtoSQL会将对象模型中的语言集成查询转换为SQL,然后将它们发送到数据库进行执行。当数据库返回结果时,LINQtoSQL会将它们转换回您可以用您自己的编程语言处理的对象。LINQToSQL-重要概念数据上下文(DataContext)–System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库–DataContext提供了以下一些使用的功能:以日志形式记录DataContext生成的SQL执行SQL(包括查询和更新语句)创建和删除数据库–DataContext是实体和数据库之间的桥梁实体类(EntityClasses)DEMO2LINQToSQLLINQToXML-介绍LINQtoXML经过了重新设计,是最新的XML编程方法。它提供文档对象模型(DOM)的内存文档修改功能,支持LINQ查询表达式。尽管这些查询表达式在语法上与XPath不同,但它们以更加类型化的方式提供类似的功能。LINQToXML-重要概念XDocument类–包含有效的XML文档所需的信息。其中包括XML声明、处理指令和注释XElement类–表示一个XML元素。可以使用该类创建元素;更改元素内容;添加、更改或删除子元素;向元素中添加属性;或以文本格式序列化元素内容。XAttribute类–属性是与元素关联的名称/值对。XAttribute类表示XML属性。DEMO3LINQToXMLLINQ学习工具LINQPad:LINQPad是一个很好的学习LINQ的工具,LINQPad是完全免费的,无需安装,《C#3.0inaNutshell》一书中200个示例VLinq:VisualLinqQueryBuilder(LINQ可视化查询编辑器)作为VisualStudio2008的一个插件,可以帮助我们在程序中创建LINQtoSQL查询表达式,支持C#和VB两种语言LINQ资源LINQinAction电子书:作者:FabriceMarguerie,SteveEichert,JimWooley网址:TheLINQProject(LINQ项目)站点位于MSDN上,提供了有关LINQ的一般新闻和信息。VisualBasicDeveloperCenter(VisualBasic开发人员中心),提供了有关结合使用LINQ和VisualBasic的最新新闻。C#DeveloperCenter(C#开发人员中心),提供了有关C#3.0规范的最新版本及其他信息。LINQforum(LINQ论坛)位于MSDN上,是提出有关LINQ的问题的最佳地方。白皮书提供了指向提供有关LINQ的其他信息的白皮书的链接。THANKS
本文标题:通用和便利的信息查询方式-培训
链接地址:https://www.777doc.com/doc-333993 .html