LINQ学习笔记(六)

LINQ to SQL 对象模型

 

 

 

LINQ to SQL是LINQ中最重要的一个组件,为.NET Framework3.5所支持。它可以为关系数据库提供一个对象模型,并在该对象模型基础上实现对数据的查询、修改、删除等功能。

 

6.1  LINQ to SQL概述

     LINQ to SQL最重要的一个功能是为SQL Server数据库创建一个对象模型(由基于.NET框架的类组成)。

LINQ to SQL对象模型和SQL Server数据库中的对象的映射关系

          LINQ to SQL对象模型的基本元素

SQL Server数据库中的对象

实体类

属性(或字段)

关联

外键关系

方法

存储过程或方法

 

6.2  使用Visual Studio 2008创建DBML文件

     (1) 创建DBML文件

     (2) LINQ代码生成工具SqlMetail.exe

        代码生成工具可以为LINQ to SQL组件生成代码和映射,主要包括以下3个操作:

        . 生成源代码和映射属性或映射文件

        . 生成供自定义使用的中间数据库标记语言文件(后缀名为.dbml)

        . 生成代码和映射属性或映射文件

(3) 创建xxx表的实体类

(4) 创建xxx表的实体类的属性

(5) 创建数据库的数据上下文的方法

   6.3  处理EntitySet<T>类型的结果

        EntitySet<T>类包含4个属性和多个方法。如获取实体数量的Count属性,获取或设置实体项集合的Item属性,添加实体的Add()方法,移除实体的Remove()方法

(1)     Count属性:计算实体数量的

(2)     Item属性:实体集合项的

(3)     HasLoadedOrAssignedValues属性:是否已加载或分配值的

(4)     IsDeferred属性:是否具有延迟查询的

(5)     Add()方法:添加实体的

(6)     AddRange()方法:添加实体集合的

(7)     Insert()方法:插入实体的

(8)     Remove()方法:移除实体的

(9)     RemoveAt()方法:移除指定索引的实体

(10) Clear()方法:移除所有实体的

(11) IndexOf()方法:查找实体索引的

(12) Contains()方法:查找是否包含实体的

(13) Assign()方法:分配集合的

(14) 返回枚举的GetEnumerator()方法

6.4 处理EntityRef<T>类型的结果

    用来处理一对多关系中的数据。

(1)     Enitty属性: 获取EntityRef<T>类的实例的实体

(2)     HasLoadedOrAssignedValues属性:EntityRef<T>类的实例是否加载或分配关  

系数据

6.5 处理IExecuteResult类型的结果

    (1) GetParameterValue():获取指定索引的参数的值

    (2) ReturnValue属性:返回执行的查询的返回值或结果,返回值或结果的类型是object

6.6 处理ISingleResult<T>类型的结果

    ISingleResult<T>泛型接口表示具有单个返回序列的映射函数的结果。在SQL数据

实体类中,该类常常使用ISingleResult<T>泛型接口来保存存储过程(或函数等)检索数

据库的结果。

6.7  处理IMultipleResult类型的结果

   有时,一些SQL语句或存储过程返回具有多个结构的结果。例如,一个存储过程中

包含两个SELECT子句,这两个SELECT子句的结果的结构是不一样的。此时,可以使用

IMultipleResult接口来处理该存储过程的结果。

posted on 2013-01-07 12:12  乌英达姆  阅读(172)  评论(0编辑  收藏  举报

导航