问题描述
使用 EF Core、Fluent API,在表级别指定架构如下:
modelBuilder.Entity<MyRecord>().ToTable("MyRecord","mySchema");
是否有另一种方法可以为一个表或多个表指定架构,而无需将表和架构名称串起来?
仅从编码效率的角度来看,当直接映射到每个表/实体的实体名称时,还必须包含表名称有点多余。
它可以使用 modelBuilder.HasDefaultSchema("mySchema")
全局设置,但这在处理不同架构时无济于事。
解决方法
目前 (EFC 5.x) 没有用于仅设置实体类型模式的公共 fluent API,但通常在这种情况下,您可以改用公共元数据 API。在这种特殊情况下 - SetSchema 方法:
modelBuilder.Entity<MyRecord>().Metadata.SetSchema("mySchema");