如何定义架构表级别

问题描述 投票:0回答:1

我正在将EF Core 2.1和C#用于我的应用程序。

出于某种原因,有一些表我希望其架构为dbo,而其他表为app

public class MyAppContext : DbContext
{
    private const string _dbSchema = "app";

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasDefaultSchema(_dbSchema);
        modelBuilder.ApplyConfiguration(new RegionConfiguration());
        base.OnModelCreating(modelBuilder);
    }
}

虽然对于某些实体,我想覆盖默认架构并进行设置。

public class RegionConfiguration : IEntityTypeConfiguration<Region>
{
    public void Configure(EntityTypeBuilder<Region> builder)
    {
        // Didn't find any such method -> builder.HasSchema("dbo"); 
        builder.HasKey(x => x.RegionId); //Primary Key
    }
}

如何解决?

c# asp.net-core-2.1 ef-core-2.1
1个回答
0
投票

使用ToTable方法:

public class RegionConfiguration : IEntityTypeConfiguration<Region>
{
    public void Configure(EntityTypeBuilder<Region> builder)
    {
        builder.HasKey(x => x.RegionId); //Primary Key
        builder.ToTable("TableName", "dbo");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.