21.4 LINQ查询操作

评论(1)浏览(262)分类:asp.net-linq
21.4 LINQ查询操作  前面介绍了LINQ的一些基本的语法,以及LINQ常用的查询子句进行数据的访问和整合,甚至建立数据源对象和数据源对象之间的关联,使用LINQ查询子句能够实现不同的功能,包括投影、排序和聚合等,本节开始介绍LINQ的查询操作。21.4.1 LINQ查询概述  LINQ不仅提供了强大的查询表达式为开发人员对数据源进行查询和筛选操作提供遍历,LINQ还提供了..

21.5 使用LINQ查询和操作数据库

评论(1)浏览(262)分类:asp.net-linq
21.5 使用LINQ查询和操作数据库  讲解了关于LINQ的基本知识,就需要使用LINQ进行数据库操作,LINQ能够支持多个数据库并为每种数据库提供了便捷的访问和筛选方案,本书主要使用SQL Server 2005作为数据源进行LINQ查询和操作数据示例数据库。21.5.1 简单查询  LINQ提供了快速查询数据库的方法,这个方法非常的简单,在前面的章节中已经讲到,这里使用21.1.1中准备的student数..

21.3 基本子句

评论(0)浏览(245)分类:asp.net-linq
21.3 基本子句  既然LINQ查询语句同SQL查询语句一样,能够执行条件、排序等操作,这些操作就需要使用WHERE、ORDERBY等关键字,这些关键字在LINQ中是基本子句。同SQL查询语句中的WHERE、ORDER BY操作一样,都为元素进行整合和筛选。21.3.1 from查询子句  from子句是LINQ查询语句中最基本也是最关键的子句关键字,与SQL查询语句不同的是,from关键字必须在L..

21.6 LINQ与MVC

评论(0)浏览(203)分类:asp.net-linq
21.6 LINQ与MVC  在ASP.NET MVC应用程序中,Models层通常用于抽象数据库中的表使之成为开发人员能够方便操作的对象,在Models层中,开发人员能够使用LINQ进行数据库的抽象并通过LINQ筛选和查询数据库中的数据用于页面呈现。21.6.1 创建ASP.NET MVC应用程序  在前面的章节中讲到了ASP.NET MVC开发模型,在ASP.NET MVC应用程序中,开发人员能够很好的将页面进..

LINQ修改数据库数据

评论(0)浏览(202)分类:asp.net-linq
LINQ修改数据库数据  使用LINQ to SQL修改数据库中的数据的功能一般的实现步骤如下:(1)使用LINQ查询找到被修改的记录。(2)修改记录的值。(3)调用SubmitChanges()方法将上述修改提交到数据库,并完成修改操作。  修改数据库中的数据的功能由Sample_08应用程序中的UpdateData.aspx页面实现,它的代码隐藏文件为UpdateData.aspx.cs。1.创建UpdateData.asp..

Linq To Sql 存储过程

评论(0)浏览(193)分类:asp.net-linq
Linq To Sql 存储过程  Store Procedure,存储过程。也是被别人写过的东西。我习惯性先看别人都写了点啥,然后才开始想看看自己还要写点啥。那就先谈谈它与udf的区别吧。  在Linq To Sql进阶系列(四)User Define Function篇 中,我们提到了两者的差别。比如Store Procedure支持多个rowset的,而udf不行。他们还有一些其他的差别。Store Procedure只能返回整型,..

linq to xml XDocument和XDeclaration类

评论(0)浏览(181)分类:asp.net-linq
linq to xml XDocument和XDeclaration类   XDocument类表示一个XML文档,XDeclaration类表示XML文件中XML声明。其中,XML声明用来声明XML文件的版本、编码,以及XML文件的是否独立。一般情况下,在创建一个XML文件时,需要添加XML声明。  XDocument类提供了多个属性获取XML文件的属性,如获取XML文件的XML声明的Declaration属性、获取XML文件的根元素的Root属性等。XAttribute类的属..

linq数据库分组查询

评论(0)浏览(177)分类:asp.net-linq
linq数据库分组查询  分组查询和SQL语句中的带有group关键字的查询功能类似,它能够把查询结果按照关键字进行分组。下面的实例代码使用LINQ to SQL查询LinqDB数据库的Product表中的数据,并按照UserID列的值对查询结果进行分组和排序。具体步骤如下。(1)创建LinqDBDataContext类的实例db。(2)使用LINQ查询表达式查询Product表中的数据(商品),并在查询中使..

Linq To Sql动态查询续及CLR与SQL在某些细节上的差别

评论(0)浏览(175)分类:asp.net-linq
Linq To Sql动态查询续及CLR与SQL在某些细节上的差别  在上面一篇文章Linq To Sql用object的动态查询与保存log篇中,我们提到了使用object的动态查询。本文在上文的基础上,再做更加深入的引申。同时修正上文中一些不妥的地方。1, object的动态查询续  首先要做的事情,就是将Find的函数改成扩展方法。扩展方法只能放在静态类里,而且它的第一个参数必须带this关键字。在上文中,作者留下了一..

linq sql查询数据库

评论(0)浏览(174)分类:asp.net-linq
linq sql查询数据库  使用LINQ to SQL查询SQL Server数据库中的数据,一般要为该数据库创建一个DBML文件,并为该数据库创建数据上下文类。在Visual Studio 2008中为LinqDB数据库创建DBML文件LinqDB.dbml,并创建数据上下文类LinqDBDataContext。其中,在Visual Studio 2008中查看LinqDB.dbml文件,如图所示。  LinqDB数据库的数据上下文类LinqDBDataContext继承..

ASP.NET MVC Model验证-ValidationAttribute

评论(0)浏览(167)分类:asp.net-mvc
ASP.NET MVC Model验证-ValidationAttribute  通过前面的介绍我们知道ModelValidatorProviders的静态只读 Providers维护着一个全局的ModelValidatorProvider列表,最终用于Model验证的ModelValidator都是通过 这些ModelValidatorProvider来提供的。对于该列表默认包含的三种ModelValidatorProvider来 说,DataAnnotationsModelValidatorProvider无疑是最重要的,ASP.NET MVC默认提供的基..

LINQ调用数据库函数

评论(0)浏览(165)分类:asp.net-linq
LINQ调用数据库函数  LINQ to SQL不但能够调用存储过程查询或操作数据库中的数据,而且还可以调用函数处理数据库中的数据。和LINQ to SQL调用存储过程一样,它也将为函数创建一个方法,并指定该方法调用的函数,以及传入的参数和返回值。下面的代码实例在LinqDBDataContext类中创建Fu_FilterUsername(string username)方法。该方法将调用Fu_FilterUsername函数,..

Linq To Sql 用户自定义函数

评论(0)浏览(158)分类:asp.net-linq
Linq To Sql 用户自定义函数  User Define Function, 用户自定义函数,简称UDF. 关于sql server中的udf,请大家参考http://msdn.microsoft.com/msdnmag/issues/03/11/DataPoints/一文。本文主要阐述,在Linq To Sql中,如何使用UDF.1,UDF 简介  UDF 可以分为两中类型。一种为Scalar Valued Function,简称为SVF,是返回值类型的UDF. 另一种为Table Valued Function 简..

21.7 使用LINQ查询小结

评论(0)浏览(151)分类:asp.net-linq
21.7 使用LINQ查询小结  LINQ是.NET 3.5框架里的新特性,使用LINQ能够极大的方便开发人员进行数据操作。不仅如此,LINQ还支持多种数据源中数据的筛选和查询,这些数据源可能是数组、数据库、数据集甚至是XML文档。本章着重的讲解了LINQ查询语法,以及LINQ查询子句,可以由浅入深的了解LINQ查询语句是如何编写的。LINQ查询语句的语法非常简单,熟悉SQL查询语法的人在..

ASP.NET MVC Model多种验证规则

评论(0)浏览(150)分类:asp.net-mvc
ASP.NET MVC Model多种验证规则  对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也 就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则。举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯 定对应聘者的年龄、性别、专业技能等方面有不同的要求。但是ASP.NET MVC的Model验证确是Model驱动的,因为验证..

LINQ查询join子句

评论(0)浏览(145)分类:asp.net-linq
LINQ查询join子句   在LINQ查询表达式中,join子句比较复杂,它可以设置两个数据源之间的关系。当然,这两个数据源之间必须存在相关联的属性或值。join子句可以实现以下3种联接关系。q 内部联接,元素的联接关系必须同时满足被联接的两个数据源。q 分组联接,含有into子句的join子句。q 左外部联接。1.内部联接  内部联接要求元素的联接关系必须同时满足被联..

21.2 LINQ查询语法概述

评论(0)浏览(143)分类:asp.net-linq
21.2 LINQ查询语法概述  从上面的章节中可以看出,LINQ查询语句能够将复杂的查询应用简化成一个简单的查询语句,不仅如此,LINQ还支持编程语言本有的特性进行高效的数据访问和筛选。虽然LINQ在写法上和SQL语句十分相似,但是LINQ语句在其查询语法上和SQL语句还是有出入的,SQL查询语句如下所示。+展开-C#select*fromstudent,classwherestudent.c_id=class.c_id//SQL..

LINQ调用存储过程

评论(0)浏览(142)分类:asp.net-linq
LINQ调用存储过程  LINQ to SQL能够调用存储过程从数据库中查询数据。为了方便开发人员调用存储过程,LINQ to SQL将为存储过程创建一个方法,并指定该方法调用的存储过程,以及传入的参数和返回值。下面的代码实例在LinqDBDataContext类中创建Pr_GetCategorys()方法。该方法将调用Pr_GetCategorys存储过程,并返回该存储过程的执行结果。其中,结果的数据类型为..

linq to xml XElement类

评论(0)浏览(138)分类:asp.net-linq
linq to xml XElement类  XElement类表示XML文件中的一个元素(XML文件的基本组成部分)。一般情况下,每一个元素都必须包含其名称。它还可以包含以下4个组成内容:q 元素(由XElement类表示),作为元素的子元素。q 文本(由XText类表示)。q 注释(由XComment类表示),将注释作为元素的一个子元素。q XML处理指令(由XProcessingInstruction类表示),用来指定处理..

对linq查询的数据库结果进行排序

评论(0)浏览(127)分类:asp.net-linq
对linq查询的数据库结果进行排序  使用LINQ to SQL不但可以轻松查询数据库中的数据,而且还可以对查询的数据按照指定的关键字进行排序(包括升序和倒序)。  下面的实例代码使用LINQ to SQL查询LinqDB数据库的UserInfo表中的数据,并对查询结果进行倒序排序。具体步骤如下。(1)创建LinqDBDataContext类的实例db。(2)使用LINQ查询表达式查询UserInfo表中ID列的值小于10,..

LINQ存储过程多表查询

评论(0)浏览(115)分类:asp.net-linq
LINQ存储过程多表查询  本小节介绍使用存储过程查询多个表的数据的方法。  下面的代码实例在LinqDBDataContext类中创建Pr_GetUserAndRole()方法。该方法将调用Pr_GetUserAndRole存储过程,并返回该存储过程的执行结果。由于Pr_GetUserAndRole存储过程返回两种类型的结果(UserInfo和Role表),因此,Pr_GetUserAndRole()方法使用ResultType属性指定结果的数据类型..

LINQ删除数据库数据

评论(0)浏览(114)分类:asp.net-linq
LINQ删除数据库数据   LINQ to SQL从数据库中删除数据的功能由TableT类的DeleteAllOnSubmitTSubEntity()和DeleteOnSubmit()方法实现。其中,DeleteOnSubmit()方法从TableT类的实例中删除单个实体,DeleteAllOnSubmitTSubEntity()方法将从TableT类的实例中删除实体的集合。它们的原型如下。public void DeleteOnSubmit(TEntity entity)public void DeleteAllOnSubm..

LINQ查询let子句

评论(0)浏览(114)分类:asp.net-linq
LINQ查询let子句   在LINQ查询表达式中,let子句可以创建一个新的范围变量,并且使用该变量保存表达式中的结果。let子句指定的范围变量的值只能通过初始化操作进行赋值,范围变量的值一旦被初始化,将不能再被改变。  下面的代码实例中的LetQuery()函数演示了let子句查询的方法,具体步骤说明如下。(1)创建数据类型为ListUserInfo的数据源users。(2)使用..

ASP.NET MVC Model验证-ValidationAttribute示例

评论(0)浏览(109)分类:asp.net-mvc
ASP.NET MVC Model验证-ValidationAttribute示例  ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model类型及其属性上的ValidationAttribute才有效。如果我们能 够将ValidationAttribute特性直接应用到参数上,我们不但可以实现简单类型(比如int、double等)数据的Model验证,还能 够实现一个Model类型,多种验证规则,本篇文章将为你提供相关的解决方案(源代码从这里下..

Linq To Sql用object的动态查询与保存log篇

评论(0)浏览(108)分类:asp.net-linq
Linq To Sql用object的动态查询与保存log篇  动态的生成sql语句,根据不同的条件构造不同的where字句,是拼接sql 字符串的好处。而Linq的推出,是为了弥补编程中的 Data != Object 的问题。我们又该如何实现用object的动态查询呢? 1,用object的查询是什么?  我们可以简单的举这么一个例子。我们到公安局查找一个人。首先,我们会给出他的一些特征,比如,身高多少,年龄多少,性别..

使用LINQ操作XML

评论(0)浏览(105)分类:asp.net-linq
使用LINQ操作XML XML LINQ简介本章包括nXML LINQ设计原则nXML LINQ类层次n加载、解析和操作XML  XML LINQ允许我们使用我们已经熟悉的LINQ查询语法查询XML数据,而不是学习查询XML的新的API。此外,XML LINQ也提供了一些轻量级XML API用来操作XML,这些API利用了提供了类似DOM的操作,但是在设计上更加直观。本章的目的就是学习XML LINQ提供的API。为了成为XML ..

Linq To Sql M:M关系

评论(0)浏览(101)分类:asp.net-linq
Linq To Sql M:M关系  在Linq To Sql进阶系列(一) 一文中,我们谈到了数据库中的两种基本关系1:M 与1:1. 而现实世界中,还有一种M:M 的关系。比如,一个老师可以有多个学生,而一个学生也可以有多个老师。老师和学生的关系就是多对多的关系。这些关系在数据库中是如何反映的呢?  在C#3.0入门系列(十)-之Join操作一 文中,我们提到了M:M 的关系中的join操作..

linq数据库聚合查询

评论(0)浏览(100)分类:asp.net-linq
linq数据库聚合查询  使用LINQ to SQL不但可以轻松查询数据库中的数据,而且还可以对查询结果进行聚合计算,如计算查询结果的和(SUM)、最大值(Max)、最小值(Min)、平均值(Average)等。  下面的实例代码使用LINQ to SQL查询LinqDB数据库的Product表中的数据,并计算查询结果中商品的最高价格和最低价格。具体步骤如下。(1)创建LinqDBDataContext类的实..

linq sql查询数据库实例

评论(0)浏览(100)分类:asp.net-linq
linq sql查询数据库实例  使用LINQ to SQL可以轻松查询数据库中的数据,比传统的SQL语句或存储过程查询数据库的方法更加简洁。下面的实例代码使用LINQ to SQL查询LinqDB数据库的UserInfo表中的数据,具体步骤如下。(1)创建LinqDBDataContext类的实例db。(2)使用LINQ查询表达式查询UserInfo表中ID列的值小于10,且Username列的值的长度大于5的数据。其中,LINQ查询..

linq to xml操作XML添加元素

评论(0)浏览(98)分类:asp.net-linq
linq to xml操作XML添加元素  使用LINQ to XML还可以添加新的元素到XML文件。下面的实例代码使用XElement类创建了一个新元素,并动态添加到Books.xml文件中。添加新元素之后,并将Books.xml文件的内容显示在网页中。具体步骤如下。(1)将Books.xml文件的访问地址转换为物理地址。(2)使用XElement类的Load()方法读取Books.xml文件的内容,并创建为xe实例。(3)使用XEl..