指定每个 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");
使用 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");