6

我有一个用户角色多对多关系,由EntityTypeConfiguration<Role>派生类的这段摘录指定,它允许我为单个表指定模式,例如:

[Schema(SchemaNames.ParkPay)]
class WeekDayConfig : EntityTypeConfigurationWithSchema<WeekDay>
{
    internal WeekDayConfig()
    {
        Ignore(t => t.IsDeleted);
        Property(p => p.Name)
            .IsRequired()
            .HasMaxLength(20);
    }
}

现在,对于Role,配置类包含此代码,生成的表UserRole是在“dbo”模式下创建的,而不是我想要的模式。这是那个代码:

[Schema(SchemaNames.ParkPay)]
internal class RoleConfig : EntityTypeConfigurationWithSchema<Role>
{
    public RoleConfig()
    {
        HasMany(t => t.Users)
            .WithMany(t => t.Roles)
            .Map(m =>
                     {
                         m.ToTable("UserRole");                            
                         m.MapLeftKey("RoleId");
                         m.MapRightKey("UserId");
                     });
    }
}

除了在初始化的播种阶段编写模式更改脚本之外,我能做些什么,以便UserRole在“parkpay”模式而不是“dbo”模式下创建表?

4

1 回答 1

10

我不明白为什么这不起作用:

public RoleConfig()
{
    HasMany(t => t.Users)
    .WithMany(t => t.Roles)
    .Map(m =>
    {
        m.ToTable("UserRole","parkpay");                            
        m.MapLeftKey("RoleId");
        m.MapRightKey("UserId");
    });
}
于 2013-06-14T17:35:30.660 回答