我自动为约束和索引创建名称时遇到问题。约束或索引的长度超过30个字符后,名称将更改为f.e:
"FK_OT_PERSONAL_EQUI_1685080621"
幸运的是,我在我的方法中看到,有一些参数用于命名特定的约束和索引。
CreateTable(
"OTDBA.OT_PERSONAL_EQUIPMENT",
c => new
{
EQUIPMENT_ID = c.Decimal(nullable: false, precision: 10, scale: 0),
ACTIVE_TIME = c.Decimal(nullable: false, precision: 19, scale: 0),
SHOW_MODE = c.Decimal(nullable: false, precision: 10, scale: 0),
RESOURCE_ID = c.Decimal(nullable: false, precision: 10, scale: 0),
})
.PrimaryKey(t => t.EQUIPMENT_ID)
.ForeignKey("OTDBA.OT_RESOURCES", t => t.RESOURCE_ID, cascadeDelete: true,name: "FK_OT_EQUIPMENT_RESOURCES")
.Index(t => t.RESOURCE_ID);
不幸的是它不起作用,如果我们检查自动生成的脚本,我们有:
alter table "OTDBA"."OT_PERSONAL_EQUIPMENT" add constraint "FK_OT_PERSONAL_EQUI_1685080621" foreign key ("RESOURCE_ID") references "OTDBA"."OT_RESOURCES" ("RESOURCE_ID") on delete cascade
/
不包括我对FK_OT_EQUIPMENT_RESOURCES的更改
基本问题。为什么?