许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  EF Core Fluent API配置详解(第三部分):实体关系映射

EF Core Fluent API配置详解(第三部分):实体关系映射

阅读数 8
点赞 0
article_banner

一、约定 配置

1.表名采用DbSet的属性名。

   2.数据列的名字对应的是 实体类  的名字,列的类型采用的是更实体类的属性最兼容的数据类型

   3.数据列的可空性对应的是实体类数据的可空性

   4.默认属性名为Id的属性为主键,如果属性为int long short类型,会默认设置为自增,如果为Guid类型,会使用默认的Guid生成机制生成主键

二、两种属性配置

1.DataAnnotation

   把配置一特性的方式标注到实体类中
在这里插入图片描述

优点:简单;缺点:耦合;

   //创建结果
+

   2.FluentAPI

   把配置单独的写到配置类中
在这里插入图片描述

优点:解耦:缺点:复杂

表名为配置的名字,达到同样的效果
在这里插入图片描述

三、为什么建议使用FluentAPI

1.如果实体类上标识了Table_SqlServer存入Sqlserver中为这个名字;但要存入Mysql中名字要为Table_Mysql。这时要改就非常不方便,但使用FlentAPI时就能通过 代码 做一些代码判断具体情况.
在这里插入图片描述

   2.虽然两个可以混用,但不建议混用,推荐只用FluentAPI这种

四、FluentAPI的示例配置

1.给Book类添加一个属性,并配置。

builder.Property(b => b.Place).HasColumnName(“Book_Place”).HasColumnType(“varchar(8)”);

在这里插入图片描述

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _01_EF_Enviroment
{
   
   
    //继承了IEntityTypeConfiguration,用来数据库查找相应的实体配置
    
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空