使用实体框架迁移更改约束名称

时间:2013-07-02 12:23:14

标签: entity-framework ef-code-first entity-framework-5 ef-migrations ef-fluent-api

我使用EF Codefirst构建了一个数据库(在MVC4应用程序中)。

我已经了解到,访问此数据库的外部工具对列和列有名称长度限制。约束

  1. 列名必须为< = 20 chars
  2. 约束名称muse be< = 10 chars
  3. 我因此需要更改生成的数据库约束的名称。 (我的列名都没有超出限制。)

    我可以在没有破坏的情况下实现这一目标吗? 迁移框架是否提供了此类操作所需的工具?

1 个答案:

答案 0 :(得分:0)

据我所知,Entity框架代码首先不在其EntityTypeConfiguration中使用约束名称。您应该能够将约束重命名为您喜欢的任何内容,并且只需使用实体的属性提及关系。这就是配置通常的样子。

// Relationships
            this.HasRequired(t => t.Project)
                .WithMany(t => t.ProjectInstances)
                .HasForeignKey(d => d.ProjectId);

实体框架团队中有一个名为Entity Framework Power Tools的便利小工具。您可以使用它生成代码第一个实体和映射。您可以在某个测试项目中使用该工具并查看生成的代码。我很确定即使你重命名约束也没有任何问题,只要你正确地给出属性。