80 likes | 336 Views
第 13 章 使用 LINQ to SQL 访问数据库. 本章内容: LINQ 简介,使用 LinqDataSource 访问数据库,使用 LINQ to SQL 查询数据,使用 LINQ to SQL 操作数据库。 本章重点: LINQ 的基本概念及结构,使用 LINQ to SQL 实现常规数据库操作。. 13.1 LINQ 简介. 13.1.1 LINQ 的组成结构 13.1.2 与 LINQ 相关的几个概念 1 .匿名类型
E N D
第13章 使用LINQ to SQL访问数据库 本章内容:LINQ简介,使用LinqDataSource访问数据库,使用LINQ to SQL查询数据,使用LINQ to SQL操作数据库。 本章重点:LINQ的基本概念及结构,使用LINQ to SQL实现常规数据库操作。
13.1 LINQ简介 • 13.1.1 LINQ的组成结构 • 13.1.2 与LINQ相关的几个概念 • 1.匿名类型 • “匿名类型”也称为“隐式类型”或“推断类型”,如果在程序中需要使用临时类型,而又不希望去创建相应的类,可以考虑使用匿名类型。匿名类型使用var关键字进行声明。 例如: • var stuinfo = new {StuName = "张三", StuID = "2009000234", StuAge = 20}; • 需要说明的是,上面声明的变量stuinfo虽然没有明确地指定类型(var是关键字,不是类型),但它仍然是有类型的,只是我们不需要关心,也不知道而已。程序运行时,使用var关键字声明的匿名类型变量的具体类型由编译器根据上下文进行判断和处理。例如: • var i = 10; //声明一个匿名变量 • int j = 10; //声明一个整型变量 • Response.Write( i + j); //隐式转换后输出
2.泛型 • 泛型并不是.NET Framework 3.5的新功能,但它对LINQ to SQL来说是相当重要的概念,这里有必要简单介绍一下泛型的基本概念。需要注意的是,要使用泛型需要引入System.Collections.Generic命名空间。 • 例如,下列语句声明并初始化了一个名为MyGeneric,用于表述一个字符串列表的泛型集合: • List<string> MyGeneric = new Linst<string>; • MyGeneric.Add("zhangsan"); • MyGeneric.Add("2009000234"); • MyGeneric.Add("工程机械0901"); • 在Visual Studio 2008中,可以将上述代码简化如下: • List<string> MyGeneric = new Linst<string> {"zhangsan","2009000234","工程机械0901"};
3.扩展方法 • 使用扩展方法可以为一些现有的类增加某种特定的功能。也就是向一个现有的类中添加新的静态方法(注意,必须是静态的)。创建扩展方法的语法格式如下: • public static class 静态类名称 • { • public static 返回值类型 方法名称(this 作用类型 形参1 [, 形参2] … ) • { • 扩展方法的方法体语句 • } • }
13.2 使用LinqDataSource访问数据库 • 13.2.1 创建DataContext类 • 13.2.2 配置LinqDataSource控件 • 13.2.3 配合GridView控件访问数据库
13.3 使用LINQ to SQL查询数据 • 13.3.1 返回数据表中的全部记录(Select语句) • 13.3.2 返回数据表中符合条件的部分记录(Where语句) • 13.3.3 返回数据集合的排序(OrderBy方法) • 13.3.4 连接不同数据表(Join语句)
13.4 使用LINQ to SQL操作数据库 • 13.4.1 插入新记录 • 13.4.2 修改记录 • 13.4.3 删除记录 • 13.4.4 使用LINQ to SQL直接执行SQL语句
13.5 实训 • 实训目的 • 1)掌握扩展方法的编写方式。 • 2)掌握LinqDataSource控件的设置及使用方法,能配合其他数据显示控件(如FormView、GridView等)实现数据库的常规操作(增、删、查、改)。 • 3)掌握常用LINQ to SQL语句和方法,以及通过这些LINQ to SQL语句或方法实现常规数据库操作的基本步骤。 • 实训内容