指定每个 table 架构的替代方法

Alternative way to specify per-table schema

使用 EF Core,Fluent API,在 table 级别指定架构如下:

 modelBuilder.Entity<MyRecord>().ToTable("MyRecord", "mySchema");

是否有另一种方法可以为 table 或多个 table 指定架构,而无需将 table 和架构名称串起来?

只是从编码效率的角度来看,在直接映射到每个table/实体的实体名称时还必须包含table名称有点多余。

可以使用 modelBuilder.HasDefaultSchema("mySchema") 进行全局设置,但这在使用不同的模式时没有帮助。

目前 (EFC 5.x) 没有 public fluent API 仅用于设置实体类型的架构,但像往常一样,在这种情况下您可以使用 public 元数据 API 代替。在这种特殊情况下 - SetSchema 方法:

modelBuilder.Entity<MyRecord>().Metadata.SetSchema("mySchema");