【发布时间】:2021-09-07 12:20:06
【问题描述】:
我正在尝试在我的实体中使用代码优先定义一些列名。我正在使用 .NET Core 3.1、EF Core 3.1.15 和 MySQL 服务器。
我有类似这种情况的实体之间的关系
我有一个属于State 的City。所以这是从City 到State 的一对一关系。
这是一个例子
public class City
{
[Column("IdCity")]
public short IdCity { get; set; }
[Column("IdState")]
public State State { get; set; }
}
public class State
{
[Column("IdState")]
public byte IdState { get; set; }
}
问题是如果我运行迁移然后持久化数据库更改,它会生成下表
表City:
IdCity | StateIdState | ....
表State:
IdState | ... | ...
我需要在物理数据库中将StateIdState 列定义为IdState。
我尝试使用不同的注释,如 FK、列等,但它不起作用,它总是生成该名称。
有没有办法可以省略附在列名第一部分的实体名称?
我这样做是因为我已经在服务器中创建了这两个表,所以我需要匹配它们的架构才能与它们交互。
【问题讨论】:
标签: c# entity asp.net-core-3.1 ef-core-3.1