• Entity Framework 简介


    • Entity Framework是个什么鬼?
      • Entity Framework  (EF ) 是面向对象思想的产物。
      • 可以跨平台使用(可以在Windows,Linux和Mac上运行)。
      • 是基于ADO.NET封装的一种数据对象模型。
      • 它可以让应用程序以对象化的方式去连接和访问数据库。
      • 它可以将数据库转化成应用程序对象,转化逻辑大致如下:
        • 数据库对象 ===转化成===>  应用程序对象
        • 数据字段    ===转化成===>  属性
        • 数据关系    ===转化成===>  结合属性
      • 它支持 LINQ 查询、更改跟踪、更新和架构迁移。
    • Entity Framework 组织结构图

    • 什么是EDM?
      • EDM 即实体数据模型(Entity Data Model),它是一种XML格式的纯文本文件,用以描述数据结构的概念,以统一的概念模型映像不同类型的数据源,这使得数据操作与底层的来源脱钩,如此一来,开发人员便能通过单个数据模型进行数据处理,避免接触真正的数据结构。

      • 实体数据模型的内容以下三部分组成:
        • 概念模式(CSDL,Conceptual Schema Definition Language,概念模式定义语言):描述实体模型的主要内容,各种模型元素包含实体类型、属性以及关联类型,均通过映象的标签在这里设置。EF 通过概念模式定义语言——Conceptual Schema Definition Language (CSDL) 来定义。
        • 映射(MSL,Mapping Specification Language,映射规范语言):描述数据库的数据表和字段与概念模型中的实体和属性成员的映射关系。以映射规范语言——Mapping Specification Language(MSL) 来定义这部分的内容。
        • 存储模型(SSDL,Store Schema Definition Language,存储结构定义语言):存储原始数据库的内容结构信息,概念模型通过此模型的信息映象到底层数据库的实体结构,以存储结构定义语言——Store Schema Definition Language(SSDL) 来定义。
        • 以 “XML(文本)编辑器” 的方式打开后缀名以 .edmx 为结尾的文档,在 <edmx:Runtime> 节点内 我们可以三个模式的表现形式。

        • 打开项目路径 “objDebugedmxResourcesToEmbed”,可以看到三个不知道是什么鬼(以数据模型命名)的文件。

      • EMD 用三种关键概念描述数据结构:实体类型(Entity Type)、关联类型(Association Type)和 属性(Property)。 
        • 实体类型:通过EDM描述数据结构基础的构建区块便是实体类型,它是以对象的形式来表示各种数据结构。每一个实体类型都必须有一个独一无二的实体键。每一个实体类型有一组实体集(EntitySet),类似于数据表中的数据集。
        • 关联类型:类似于数据表的关联结构,两个实体类型对象之前同样存在关联结构,而实体之间的关联则是用关联类型来描述的。每一组关联由两个关联端点所组成,每个端点有个Association End Multiplicity 来表示关联数量(用来表示 一对多、多对多等关联类型)。
        • 属性:实体类型的结构与特性通过属性来实现关联(可以将其想象成数据表的字段)。

      • 实体类型、关联类型与属性是构建模型最为关键的概念,而描述实体数据模型的具体内容则是通过所谓的Domain-Specific Language(DSL,领域特定语言)来实现,Entity  Framework用来定义概念模型的DSL是一种XML格式语法,称为Conceptual Schema Definition Language(CSDL,概念模式定义语言)。

      • 实体数据模型是以 .edmx 为扩展名的XML格式的纯文本文件。它包含存储模型、概念模型以及这两种模型的相关设置信息。
  • 相关阅读:
    邻居子系统 之 更新neigh_update
    邻居子系统 之 邻居项查找neigh_lookup、___neigh_lookup_noref
    遍历集合的方法总结
    Java集合中List,Set以及Map等集合体系
    八大数据结构分类
    servlet和jsp的区别
    Web前端和Web后端的区分
    (转)为什么JavaWeb放弃jsp,去做前后端分离
    面向对象的三大基本特征和五大基本原则
    (转)2019年给Java编程初学者的建议(附学习大纲)
  • 原文地址:https://www.cnblogs.com/LittleBai/p/13894182.html
Copyright © 2020-2023  润新知