随笔分类 -  [01] .Net X

LINQ to SQL 在 Visual Studio 2008 中的简单应用
摘要:在.Net Framework 3.5 中,最激动人心的就是增加了LINQ功能,LINQ在数据集成的基础上提供了新的轻型方式。有了LINQ,我们创建的查询现在就编程了.Net 框架的一个成员,在对要操作的数据存储执行查询时,会很快发现他们现在的操作方式类似于系统中的类型。这说明,现在可以使用任意兼容.Net 的语言来查询底层的数据存储,这在以前是不可能的。 根据要在应用程序中处理的底层数据的不同... 阅读全文
posted @ 2009-10-08 15:49 冯瑞涛 阅读(1268) 评论(0) 推荐(0) 编辑
LINQ 提供程序
摘要:.NET 3.5 包含几个LINQ 提供程序。 LINQ 提供程序为特定的数据源实现了标准的查询操作符。 LINQ 提供程序也许会实现LINQ 定义的更多扩展方法,但至少要实现标准操作符。 LINQ to XML 不仅实现了专门用于XML 的方法,还实现了其他方法,例如System.Xml.Linq 命名空间的Extensions 类定义的方法Elements()、 Descendants ... 阅读全文
posted @ 2009-10-08 15:01 冯瑞涛 阅读(575) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 生成操作符 Range()、Empty()和Repear()
摘要:生成操作符Range()、Empty()和Repear()不是扩展方法,而是返回序列的正常静态方法。 在LINQ to Objects中,这些方法可用于Enumerable 类。 有时需要填充一个范围的数字,此时就应使用Range()方法。这个方法把第一个参数作为起始值,把第二个参数作为要填充的项数。   private static void Range() { var val... 阅读全文
posted @ 2009-10-08 12:25 冯瑞涛 阅读(913) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 转换 ToList()、ToLookup()、ToEnumerable()、ToDictionary、ToType<T>
摘要:本章前面提到,查询可以推迟到访问数据项时再执行。 在迭代中使用查询,查询会执行。而使用转换操作符会立即执行查询,把结果放在数组、列表或字典中。 在下面的例子中,调用ToList()扩展方法,立即执行查询,把结果放在List<T>中: private static void Conversion() { // query executed immediately List<Ra... 阅读全文
posted @ 2009-10-07 19:05 冯瑞涛 阅读(6153) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 合计操作符 Count()、Sum()、Min()、Max()、Average()和Aggregate()
摘要:合计操作符如Count()、Sum()、Min()、Max()、Average()和Aggregate(),不返回一个序列,而返回一个值。 Count()扩展方法返回集合中的项数。下面的Count()方法应用于Racer 的Years 属性,过滤赛手,只返回 获得冠军次数超过3 次的赛手: private static void QuantifiersCount() { var racers = ... 阅读全文
posted @ 2009-10-07 18:37 冯瑞涛 阅读(1001) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 分区 Take 、Skip 、TakeWhile 、SkipWhile
摘要:扩展方法Take()和Skip()等的分区操作可用于分页,例如显示5×5 个赛手。 在下面的LINQ 查询中,扩展方法Take()和Skip()添加到查询的最后。 Skip()方法先忽略根据页面的大小和实际的页数计算出的项数, 再使用方法Take()根据页面的大小提取一定数量的项:   private static void Partitioning() { int pageSi... 阅读全文
posted @ 2009-10-07 18:28 冯瑞涛 阅读(3767) 评论(1) 推荐(0) 编辑
LINQ 标准的查询操作符 设置操作符号 两个结果集的 并、交、差、唯一
摘要:扩展方法Distinct()两个集合中的每一个列出了一次(唯一)、Union()并、Intersect()交和Except()差都是设置操作。下面创建一个驾驶Ferrari 的一级方程 式冠军序列和驾驶McLaren 的一级方程式冠军序列,然后确定是否有驾驶Ferrari 和McLaren 的冠军(交集)。当然, 这里可以使用Intersect()扩展方法。 首先获得所有驾驶Ferrari 的冠军... 阅读全文
posted @ 2009-10-07 14:29 冯瑞涛 阅读(1097) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 连接 join in on equals
摘要:使用 join 子句可以根据特定的条件合并两个数据源,但之前要获得两个要连接的列表。 在一级方程式比 赛中,设有赛手冠军和制造商冠军。 赛手从GetChampions()方法中返回,制造商从GetConstructorChampions() 方法中返回。 现在要获得一个年份列表,列出每年的赛手和制造商冠军。 为此,先定义两个查询,用于查询赛手和制造商团队: 车手集合结构:new Racer() ... 阅读全文
posted @ 2009-10-07 13:27 冯瑞涛 阅读(6164) 评论(1) 推荐(4) 编辑
LINQ 标准的查询操作符 分组 group by into 、select new 、orderby descending、from in
摘要:分组要根据一个关键字值对查询结果分组,可以使用 group 子句。现在要实现一级方程式冠军应按照国家分组,并列出每个国家的冠军数。子句 group r by r.Country into g 根据Country 属性组合所有的赛手,并定义一个新的 标识符 g,它以后用于访问分组的结果信息。group 子句的结果根据应用到分组结果上的扩展方法 Count()来排序,如果冠军数相同,就根据关键字来排序... 阅读全文
posted @ 2009-10-07 11:58 冯瑞涛 阅读(8261) 评论(2) 推荐(0) 编辑
LINQ 标准的查询操作符 排序 orderby、thenby、Take
摘要:要对序列排序,前面使用了 orderby  子句。下面复习一下前面使用 orderby descending  子句的例子。其中 赛手按照赢得比赛的次数进行降序排序,赢得比赛的次数是用关键字选择器指定的: private static void Ordering() { var racers = from r in Formula1.GetChampions() where r... 阅读全文
posted @ 2009-10-06 21:28 冯瑞涛 阅读(9272) 评论(1) 推荐(1) 编辑
LINQ 标准的查询操作符 复合的 from 子句
摘要:复合的  from 子句   如果需要根据对象的一个成员进行过滤,而该成员本身是一个集合,就可以使用复合的 from 子句。 Racer 类定义了一个属性 Cars, Cars  是一个字符串数组。 要过滤驾驶 Ferrari  的所有冠军, 可以使用如下所示的 LINQ 查询。 第一个 from  子句访问从 Formyla1.GetCha... 阅读全文
posted @ 2009-10-06 20:16 冯瑞涛 阅读(1029) 评论(0) 推荐(0) 编辑
LINQ 表达式树 Expression
摘要:在 LINQ to Objects 中,扩展方法需要将一个委托类型作为参数,这样就可以将λ表达式赋予参数。 λ达式也可以赋予Expression<T>类型的参数。Expression<T>类型指定,来自于λ表达式的表达式树存储在程序集中。 这样,就可以在运行期间分析表达式,并进行优化,以便于查询数据源。 下面看看一个前面使用的查询表达式: var brazilRace... 阅读全文
posted @ 2009-10-06 12:25 冯瑞涛 阅读(3295) 评论(0) 推荐(0) 编辑
LINQ 标准的查询操作符 过滤 where、index1、OfType
摘要:LINQ 查询为最常用的操作符定义了一个声明语法。还有许多标准查询操作符 下面是 LINQ  定义的标准查询操作符。   下面开始学习这些查询 添加Using using System.Linq;using System.Linq.Expressions; 过滤使用 Where  子句,可以合并多个表达式。例如,找出赢得至少 15  场比赛的... 阅读全文
posted @ 2009-10-06 12:23 冯瑞涛 阅读(2428) 评论(4) 推荐(0) 编辑
LINQ 概述和演变
摘要:LINQ 是.Net 3.5 中最重要的新功能,LinQ集成了C#编程语言中的查询语法,可以用相同的语法访问不同的数据源。LinQ提供了不同数据源的抽象层,所以可以使用相同的语法。演变 下面是一组示例,这些示例都是基于一级方程式世界冠军。获得国家是巴西的世界冠军,并按获胜的次数降序。 使用List<T>的查询private static void TraditionalQuery() ... 阅读全文
posted @ 2009-10-06 12:02 冯瑞涛 阅读(965) 评论(0) 推荐(0) 编辑
CSLA.Net 3.0.5 项目管理示例 UI ProjectList.aspx
摘要:<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ProjectList.aspx.cs" Inherits="PTWeb.ProjectList" Title="项目列表" %><asp:Content ID="Content1" Conten... 阅读全文
posted @ 2009-10-06 10:19 冯瑞涛 阅读(648) 评论(0) 推荐(0) 编辑
CSLA.Net 3.0.5 项目管理示例 UI RolesEdit.aspx
摘要:<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="RolesEdit.aspx.cs" Inherits="PTWeb.RolesEdit" Title=&... 阅读全文
posted @ 2009-10-06 10:12 冯瑞涛 阅读(914) 评论(0) 推荐(0) 编辑
Asp.Net Membership 回顾
摘要:Membership 2006年的时候学习过当时觉着挺有意思,不过公司都有自己的权限系统,工作中一直都没有用过,现在回顾一下。 使用自己的SQL Server 2008 做存储和配置成员库 在开始菜单的Visual Studio 菜单中选择Tool->命令提示->运行ASPNET_RegSql.Exe文件,按照提示即可顺利安装成功。 配置连接字符串 <connectionSt... 阅读全文
posted @ 2009-10-05 22:23 冯瑞涛 阅读(600) 评论(0) 推荐(0) 编辑
Microsoft Language Integrated Query (LINQ) 从入门到精通
摘要:LINQ 是 C# 3.0 版本中最重要的改进。在C# 2.0 中主要的新特性是泛型,它为类 型安全的泛型集合类、泛型接口和委托奠定了基础。在C# 3.0 中主要新特性是LINQ。 通过它可以使用与语言集成的语法查询任意数据源,只要该数据源有提供程序即可。 本章讨论了LINQ 查询和查询所基于的语言结构,例如扩展方法和λ表达式,还列出了各种LINQ 查询操作符,它们不仅用于过滤数据源... 阅读全文
posted @ 2009-10-05 09:52 冯瑞涛 阅读(1911) 评论(2) 推荐(5) 编辑
C# WebRequest WebClient Post请求 无乱码
摘要:Web.Config <globalization responseEncoding="gb2312"/>CS文件using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebC... 阅读全文
posted @ 2009-08-10 09:55 冯瑞涛 阅读(10909) 评论(1) 推荐(1) 编辑
一个XSL 翻页例子入门
摘要:<?xml version="1.0" encoding="gb2312"?> <!--由于 XSL 样式表本身也是一个 XML 文档,因此它总是由 XML 声明起始:--> <!--  XSL 样式表的根元素 <xsl:stylesheet>,定义此文档是一个 XSLT 样式表文档(连同版本号和 XSLT... 阅读全文
posted @ 2009-07-26 16:56 冯瑞涛 阅读(479) 评论(0) 推荐(0) 编辑