Entity Framework教程-模型优先开发方式详解(Model First Development)
更新记录
转载请注明出处:
2022年10月14日 发布。
2022年10月10日 从笔记迁移到博客。
EF模型优先开发方式(Model First Development)概述
实体数据模型(Entity Data Model,EDM)是一种XML格式的纯文本文件
作用
实体数据模型用于描述数据结构,模型映射的不同类型的数据源
这样可以使得数据操作与底层的数据库进行进行脱钩,减少耦合
开发人员可以通过数据模型直接处理数据,避免接触具体数据库
EDM中的概念模型中的描述组成
3种数据结构分别是:
实体类型(Entity Type)
关联类型(Association Type)
属性(Property)
实体数据模型.edmx文件
.edmx文件介绍
.edmx文件表示一个实体数据模型
实体数据模型是一种使用XML格式的纯文本文本,以.edmx为扩展名
实体数据模型内容包含存储模型、概念模型、这两种模型的映射关联信息
.edmx文件内容组成
概念模型(CSDL,Conceptual Schema Definition Language):
负责定义实体模型和类结构
存储模型(SSDL,Store Schema Definition Language):
负责底层的存储模型的结构
映射(MSL,Mapping Specification Language):
负责存储模型和概念模型的内容映射
使用文本编辑器打开.edmx文件可以看到详细的SSDL、CSDL、MSL
概念模型(CSDL)组成
存储模型(SSDL)组成
基本内容与CSDL的类似,但是SSDL中的内容对应的是真实的数据库结构描述
SSDL中主要有XML元素:
映射关系(MSL)组成
Visual Studio模型工具
Visual Studio中使用 模型设计工具(Designer)和 文本编辑器进行操作.edmx文件
数据关联关系设置(EF Designer)
设置表一对多的关联和设置表多对多的关联
实体数据模型与类文件的关系
DbContext类型
每一个实体数据模型都会建立DbContext类用来供应用程序进行数据库操作
使用该对象进行与数据库进行连接和具体的增删改查的操作
通过在DbContext子类中指定DbSet来对数据表进行操作
DbSeet类型
表示数据表的结构
一个DbSet对象表示映射的数据表和其实体数据内容的集合
实体数据模型.edmx文件存在的问题
使用.demx文件描述数据模型,可以使用EF Designer进行快速开发
通过集成DbContext和DbSet类进行支持数据库的操作
但是维护起来非常的麻烦,所以在EF的后来版本中出现了Code First的开发模式
建议:
在小型数据库开发、可视化开发中可以使用.edmx和EF Designer进行开发
大中型数据库开发、日后需要维护的数据库开发使用Code First方式进行开发
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16775036.html