EF Core MYSQL 生成表映射配置问题
Model表
public class Goods
{
public string ID { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedTime { get; set; }
public string ModifiedBy { get; set; }
public DateTime ModifiedTime { get; set; }
public string GoodsName { get; set; }
public int GoodsNum { get; set; }
}
配置文件
public class GoodsEntityTypeConfiguration : IEntityTypeConfiguration<Goods>
{
public void Configure(EntityTypeBuilder<Goods> builder)
{
builder.ToTable("Sample_Goods_01");
builder.HasKey(ci => ci.ID);
builder.Property(ci => ci.ID).IsRequired();
builder.Property(cb => cb.CreatedBy)
.IsRequired()
.HasMaxLength(20);
builder.Property(cb => cb.CreatedTime)
.IsRequired();
builder.Property(cb => cb.ModifiedBy)
.IsRequired()
.HasMaxLength(20);
builder.Property(cb => cb.GoodsName)
.IsRequired();
builder.Property(cb => cb.GoodsNum)
.IsRequired();
}
}
在MYSQL里,想生成ID保存GUID
,开始的时候直接生成 string 生成 text
没有达到我们的效果。ID应该为char(36)
,CreatedBy 应该为 varchar(20)
应该改为
public class GoodsEntityTypeConfiguration : IEntityTypeConfiguration<Goods>
{
public void Configure(EntityTypeBuilder<Goods> builder)
{
builder.ToTable("Sample_Goods_01");
builder.Property(ci => ci.ID).IsRequired().HasMaxLength(36).HasColumnType("char(36)");
builder.Property(cb => cb.CreatedBy)
.IsRequired()
.HasMaxLength(20).HasColumnType("varchar(20)");
builder.Property(cb => cb.CreatedTime)
.IsRequired();
builder.Property(cb => cb.ModifiedBy)
.IsRequired()
.HasMaxLength(20).HasColumnType("varchar(20)");
builder.Property(cb => cb.GoodsName)
.IsRequired().HasColumnType("varchar(20)");
builder.Property(cb => cb.GoodsNum)
.IsRequired();
}
}
参考:
Jeffcky,EntityFramework Core映射关系详解
MVC - 10.CodeFrist
蝌蝌,EF6(CodeFirst)+MySql开发脱坑指南
EF Core MYSQL 生成表映射配置问题的更多相关文章
- ef.core Mysql
Entity层 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; ...
- 使用ef core自动生成mysql表和数据编码的问题
mysql默认的编码是不支持中文的,需要改成utf8编码格式. 而我使用的Pomelo.EntityFrameworkCore.MySql组件生成mysql库和表,他是使用默认编码的. 网上大多说修改 ...
- Boolean类型在EF和MySql中的映射关系
MySQL没有Boolean类型.这也是比较奇怪的现象.例: create table xs ( id int primary key, bl boolean ) 这样是可以创建成功,但查看一下建表后 ...
- mysql的表映射
参考博客:https://blog.csdn.net/shushugood/article/details/79925150 1.服务器上的操作 在服务器上mysql创建一个实例,名为test_db, ...
- EF Core MySql GUID配置方式
builder.Property(m => m.Id) .HasColumnName("Id") .ForMySQLHasColumnType("char(36)& ...
- EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响
数据库 我们先在SQL Server数据库中建立一个Book表: CREATE TABLE [dbo].[Book]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Cr ...
- EntityFramework Core 2.x (ef core) 在迁移中自动生成数据库表和列说明
在项目开发中有没有用过拼音首字母做列名或者接手这样的项目? 看见xmspsqb(项目审批申请表)这种表名时是否有一种无法抑制的想肛了取名的老兄的冲动? 更坑爹的是这种数据库没有文档(或者文档老旧不堪早 ...
- EF Core 2.0 已经支持自动生成父子关系表的实体
现在我们在SQL Server数据库中有Person表如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Cr ...
- EF Core中如何设置数据库表自己与自己的多对多关系
本文的代码基于.NET Core 3.0和EF Core 3.0 有时候在数据库设计中,一个表自己会和自己是多对多关系. 在SQL Server数据库中,现在我们有Person表,代表一个人,建表语句 ...
随机推荐
- [转] 指定进程运行的CPU
转自:https://www.cnblogs.com/liuhao/archive/2012/06/21/2558069.html coolshell最新的文章<性能调优攻略>在“多核CP ...
- 【转】Python基础-封装与扩展、静态方法和类方法
[转]Python基础-封装与扩展.静态方法和类方法 一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数 ...
- Spring Boot中的initializers的作用分析
在SpringApplication的实例属性中有一个初始器的属性:List<ApplicationContextInitializer<?>> initializers ,这 ...
- bootstrap例子
<!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> &l ...
- zTree:一个依靠 jQuery 实现的多功能 “树插件”
官方网站: http://www.treejs.cn/v3/main.php#_zTreeInfo 使用方式: 步骤1.文件准备 将需要使用的 zTree v3.x 相关的 js.css.img 文件 ...
- 51nod--1264 线段相交 (计算几何基础, 二维)
题目: 1264 线段相交 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为 ...
- oracle 定时 job
最近在工作中遇到了要在oracle里面创建一个定时job,从远程数据库里面定时把某张表里面的数据更新到本地服务器上某个表里,具体操作: 1.在自己数据库里面先创建一张表test create tabl ...
- JS读取.properties文件的方法
假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1. 下载插件jquery.i18n.proper ...
- 如何用Axure快速制作APP交互原型
对于产品经理来说,熟练使用一些常用软件是一项十分必要的技能.其中,作为一个专业的快速原型设计工具,Axure RP无疑在产品人心中拥有一个难以撼动的地位.但就要PS一样,虽然足够专业,但同样也会存在使 ...
- js跳转页面(转)
<span id="tiao">3</span><a href="javascript:countDown"></a& ...