Dav*_*d E 8 c# code-generation entity-framework-5
当我的密钥名称(索引,主键和外键)由Add-Migration生成时,我不能有[.](句点),所以我尝试编写CSharpMigrationCodeGenerator,但不幸的是,这似乎不允许您要更改外键或索引名称.主键名称可以设置为覆盖create table的一部分:
protected override void Generate(
CreateTableOperation createTableOperation, IndentedTextWriter writer)
{
createTableOperation.PrimaryKey.Name = "USE THIS NAME";
base.Generate(createTableOperation, writer);
}
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是一种方法来确保它刚刚删除完全停止(这意味着覆盖自定义名称生成器) - 但我看不到如何做到这一点.
您是否没有尝试过首先使用电动工具回顾性生成代码?
它不仅会从数据库为您生成代码优先类,您还可以自定义生成对象的 T4 模板,以处理独特的场景(例如自定义命名逻辑来处理保留字符)。我的entity.tt 在每个生成的对象上方都有以下内容:-
[MetadataType(typeof(<#= efHost.EntityType.Name #>_Validation))]
Run Code Online (Sandbox Code Playgroud)
这意味着我可以将所有数据验证集中到一个单独的类中,该类在重新创建对象时不会被覆盖。
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |