- 实体框架教程
- 实体框架 - 首页
- 实体框架 - 概述
- 实体框架 - 架构
- 实体框架 - 环境设置
- 实体框架 - 数据库设置
- 实体框架 - 数据模型
- 实体框架 - DbContext
- 实体框架 - 类型
- 实体框架 - 关系
- 实体框架 - 生命周期
- 实体框架 - 代码优先方法
- 实体框架 - 模型优先方法
- 实体框架 - 数据库优先方法
- 实体框架 - 开发方法
- 实体框架 - 数据库操作
- 实体框架 - 并发
- 实体框架 - 事务
- 实体框架 - 视图
- 实体框架 - 索引
- 实体框架 - 存储过程
- 实体框架 - 断开连接的实体
- 实体框架 - 表值函数
- 实体框架 - 本机SQL
- 实体框架 - 枚举支持
- 实体框架 - 异步查询
- 实体框架 - 持久化
- 实体框架 - 投影查询
- 实体框架 - 命令日志
- 实体框架 - 命令拦截
- 实体框架 - 空间数据类型
- 实体框架 - 继承
- 实体框架 - 迁移
- 实体框架 - 渴望加载
- 实体框架 - 延迟加载
- 实体框架 - 显式加载
- 实体框架 - 验证
- 实体框架 - 跟踪更改
- 实体框架 - 彩色实体
- 实体框架 - 代码优先方法
- 实体框架 - 第一个示例
- 实体框架 - 数据注释
- 实体框架 - Fluent API
- 实体框架 - 种子数据库
- 实体框架 - 代码优先迁移
- 实体框架 - 多个DbContext
- 实体框架 - 嵌套实体类型
- 实体框架资源
- 实体框架 - 快速指南
- 实体框架 - 有用资源
- 实体框架 - 讨论
实体框架 - 数据库设置
在本教程中,我们将使用一个简单的大学数据库。整个大学数据库可能更加复杂,但出于演示和学习目的,我们使用的是该数据库的最简单形式。下图包含三个表。
- 学生
- 课程
- 注册
每当使用术语数据库时,我们脑海中就会直接想到各种类型的表,这些表之间存在某种关系。表之间存在三种关系类型,不同表之间的关系取决于相关列的定义方式。
- 一对多关系
- 多对多关系
- 一对一关系
一对多关系
一对多关系是最常见的关系类型。在这种关系类型中,表A中的一行可以在表B中有多行匹配行,但表B中的一行只能在表A中有一行匹配行。例如,在上图中,学生和注册表之间存在一对多关系,每个学生可以有多个注册,但每个注册只属于一个学生。
多对多关系
在多对多关系中,表A中的一行可以在表B中有多行匹配行,反之亦然。您可以通过定义一个第三个表(称为连接表)来创建这种关系,该表的primary key由表A和表B的foreign key组成。例如,学生和课程表之间存在多对多关系,该关系由这两个表到注册表的每个表的一对多关系定义。
一对一关系
在一对一关系中,表A中的一行最多只能在表B中有一行匹配行,反之亦然。如果两个相关列都是primary key或具有唯一约束,则会创建一对一关系。
这种关系并不常见,因为大多数以这种方式关联的信息都将包含在一个表中。您可以使用一对一关系来 -
- 将一个包含许多列的表进行拆分。
- 出于安全原因隔离表的一部分。
- 存储短暂的数据,这些数据可以通过简单地删除表来轻松删除。
- 存储仅适用于主表子集的信息。
广告