3

[dbo] とは異なるスキーマ名を相関テーブルに付けることはできますか?

私は最初にコードを使用しています。

例:

ApplicationRole.cs

public class ApplicationRole
{
    public Guid ApplicationRoleId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<ADGroup> ADGroups { get; set; }
}

ADGroup.cs

public class ADGroup
{
    public Guid ADGroupId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<ApplicationRole> ApplicationRoles { get; set; }
}

ApplicationRoleConfiguration.cs

public class ApplicationRoleConfiguration : EntityTypeConfiguration<ApplicationRole>
{
    public ApplicationRoleConfiguration()
    {
        ToTable("T_ApplicationRoles", "LabConfig");

        this.HasKey(a => a.ApplicationRoleId);

        this.Property(t => t.ApplicationRoleId)
            .HasColumnName("ApplicationRole_GUID")
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);


    }
}

ADGroupConfiguration.cs

public class ADGroupConfiguration : EntityTypeConfiguration<ADGroup>
{
    public ADGroupConfiguration()
    {
        ToTable("T_ADGroups", "LabConfig");

        this.HasKey(a => a.ADGroupId);

        this.Property(t => t.ADGroupId)
            .HasColumnName("ADGroup_GUID")
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

        // correlation table should also get schema [LabConfig]
        this.HasMany(o => o.ApplicationRoles)
            .WithMany(r => r.ADGroups)
            .Map(m =>
            {
                m.MapLeftKey("ADGroup_GUID");
                m.MapRightKey("ApplicationRole_GUID");
                ToTable("T_ApplicationRoleADGroups", "LabConfig");
            });
    }
}

ただし、データベースの結果は常に次のとおりです。

  • [LabConfig].[T_ADGroups]
  • [LabConfig].[T_ApplicationRoles]
  • [ dbo ].[ApplicationRoleADGroups]

何か案は?これが目的のスキーマで機能するのに何時間も費やしましたが、成功しませんでした。

4

1 に答える 1