我已经使用 EF Codefirst(在 MVC4 应用程序中)构建了一个数据库。
从那以后,我了解到,将访问此数据库的外部工具对列和约束具有名称长度限制。
- 列名必须 <=20 个字符
- 约束名称必须 <=10 个字符
因此,我需要更改生成的数据库约束的名称。(我的列名都没有超出限制。)
我可以在不破坏的情况下实现这一目标吗?
迁移框架是否提供了我进行此类操作所需的工具?
我已经使用 EF Codefirst(在 MVC4 应用程序中)构建了一个数据库。
从那以后,我了解到,将访问此数据库的外部工具对列和约束具有名称长度限制。
因此,我需要更改生成的数据库约束的名称。(我的列名都没有超出限制。)
我可以在不破坏的情况下实现这一目标吗?
迁移框架是否提供了我进行此类操作所需的工具?
据我所知,Entity 框架代码首先在其 EntityTypeConfiguration 中不使用约束名称。您应该能够将约束重命名为您喜欢的任何内容,只需使用实体的属性提及关系即可。这就是配置通常的样子。
// Relationships
this.HasRequired(t => t.Project)
.WithMany(t => t.ProjectInstances)
.HasForeignKey(d => d.ProjectId);
实体框架团队有一个方便的小工具,称为 Entity Framework Power Tools。您可以使用它生成代码优先实体和映射。您可以在一些测试项目中使用该工具并查看生成的代码。我敢肯定,只要您正确提供属性,即使您重命名约束,您也不会遇到任何问题。