当它们由 Add-Migration 生成时,我的键名(索引、主键和外键)中不能有 [.](句点),所以我尝试编写一个 CSharpMigrationCodeGenerator,但不幸的是,这似乎不允许您更改外键或索引名称。主键名称可以设置为覆盖创建表的一部分:
protected override void Generate(
CreateTableOperation createTableOperation, IndentedTextWriter writer)
{
createTableOperation.PrimaryKey.Name = "USE THIS NAME";
base.Generate(createTableOperation, writer);
}
但我真正需要的是一种方法来确保它刚刚删除了句号(这意味着覆盖自定义名称生成器) - 但我看不出如何做到这一点。