自動生成された多対多テーブルの命名規則を変更するにはどうすればよいですか?
2 つのクラスがあるとします。
public class User
{
public int UserId { get; set; }
public virtual List<Role> Roles { get; set; }
}
public class Role
{
public int RoleId { get; set; }
public virtual List<User> Users { get; set; }
}
デフォルトでは、これによりUserRolesというテーブルが作成されます。
たとえば、DbContext の OnModelCreating オーバーライドで次を使用して、その1 つのテーブルの名前をUsersInRolesに変更できます。
modelBuilder.Entity<User>()
.HasMany(p => p.Roles)
.WithMany(p => p.Users)
.Map(mc =>
{
mc.MapLeftKey("UserId");
mc.MapRightKey("RoleId");
mc.ToTable("UsersInRoles");
});
しかし、私が本当にやりたいことは、命名規則を変更して、自動生成されたすべての多対多テーブルがデフォルトでこの新しい規則を使用するようにすることです。それを行う方法、またはそれが可能かどうかさえわかりません。これらの関係の 1 つを指定するたびに 9 行の余分なコードを指定しなければならないのは好きではありません。
現在、EF バージョン 6.0.0-rc1 を使用しています。