EF 一对一、一对多、多对多配置语句小记
配置 语句 ef 一对 小记 一对一
2023-09-11 14:21:53 时间
数据库实体间的关系无非有这么几种:一对一、一对多、多对多,这些关系在EF框架中分别有不同的创建方式:
1、在"Database First"模式中,这些关系通过SQL语句的方式建立
2、在"Model First"模式中,这些关系很简单,通过设计器就能简单搞定,实体简单的关联和数据库表之间的关联,都由EF框架帮我们生成
3、在"Code First"模式中,这些关系则是通过OnModelCreating()来实现,也就是通过代码的方式来实现
本文主要分析"CodeFirst"中上面这些关系的建立.上述的对应关系,"Code First"在实体定义关系上有一下约定:
一、一对一(单向)
在Code First中,一对一关系,是要通过代码来配置(当然不只是一对一关系,所有的约束,关系,都需要通过代码来配置),通过代码配置的方式有两种,一种是在OnModelCreating方法中配置即FluentAPI中配置,另一种是DataAnnotations直接在实体类上面设置即特性标签.
应用场景:给系统中的每个用户维护一条照片信息,因为照片中会存储照片的二进制信息,所以照片表必须独立出来,所以这就产生了一对一的关系,而且是单向一对一,因为每个用户只有一条照片信息.类图如下:
数据库结构如下:
PhotoInfos
Users
ok,开始编写代码
相关文章
- Django-配置celery
- 揭开.NET 2.0配置之谜(三)
- centos8上配置openresty/nginx可访问php
- Linux 系统安全与优化配置(未完成待续,敬请关注)
- Openfiler03:open-iscsi安装配置及smbclient的安装
- 【Linux常见问题】Centos7的网络配置问题
- python 代码编写环境及编辑器配置
- Spring配置C3P0开源连接池
- Atitit mybatis返回多个数据集总结 目录 1.1. 配置handleResult接受,但是只有第一个select语句的结果1 2. 配置resultMap ok1 2.1. 调
- 【Android Gradle 插件】ProductFlavor#externalNativeBuild配置 与 AppExtension#externalNativeBuild 配置区别
- 配置struts tags 输出HTML
- 华为运营商级路由器配置示例 | EVdPdNd VPLS over SR-MPLS BE(BD EVdPdNd)
- Sentinel安装使用和配置,sentinel-dashboard安装使用和配置
- django 自定义日志配置
- 在Redhat 7下安装MySQL数据库 和 配置