• 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接口来处理该存储过程的结果。

  • 相关阅读:
    GridControl 绑定非绑定列
    AutoMapper
    ABP-TaskEver 路线图
    Angular--页面间切换及传值的四种方法
    知行合一,止于至善
    AutoFac 依赖注入--问题集
    【入门】依赖注入(DI)-开始
    利用JAVA生成二维码
    sqlserver如何关闭死锁进程.
    Hadoop/HBase 配置snappy压缩
  • 原文地址:https://www.cnblogs.com/BigSeaHorse/p/LINQ_Study_6.html
Copyright © 2020-2023  润新知