首页 > 解决方案 > Pomelo.EntityFrameworkCore.MySql 数据库优先和生成列

问题描述

在我的表中,我有一个 Decimal 类型的 Generated 列,

COLUMN `quantidadeTotal` DECIMAL(18,4) GENERATED ALWAYS AS (((`quantidade` + `quantidadeReservada`) + `quantidadeBloqueada`)) VIRTUAL;

这是其他 3 列也是十进制类型的总和,当我执行“脚手架”时会出现问题,生成的模型以这种格式附带此列

public decimal? QuantidadeTotal { get; set; }

并且在生成的上下文中也参考了

entity.Property(e => e.QuantidadeTotal)
.HasColumnName("quantidadeTotal")
.HasColumnType("decimal(18,4)");

如果我尝试在表中插入一些记录,则会出现错误,即使在 Generated 列中没有通知任何内容,我也必须在上下文和模型中删除该列的引用才能工作。脚手架是否有任何配置可以忽略这种类型的列或任何特殊处理?

如果没有,每次我做脚手架时,我都必须手动调整所有字段,这将是很多工作。

Pomelo.EntityFrameworkCore.MySql v3.2.4

谢谢!

标签: mysqlasp.net-coreentity-framework-corepomelo-entityframeworkcore-mysql

解决方案



推荐阅读