在 Entity Framework 6 中参数化架构

Parameterize Schema in Entity Framework 6

我有多个对象,其中一些转到一个架构 "NewObjects",另一个转到 "OldObjects" 我希望能够从配置文件中配置 NewObjects 架构。有办法吗?这是我的。

namespace IDJC.Domain
{


    [Table("Agency", Schema = "NewObjects")]
    public class Agency
    {
        public int AgencyId { get; set; }
        public string AgencyName { get; set; }
    }
}

是的,通过 fluent api。检查部分:将实体类型映射到数据库中的特定 Table:

例如,如果您在项目中创建一个设置(通过属性->设置)名称 MySchemaName,您将能够在派生的 DbContext 中访问它 class.因此,当您覆盖 OnModelCreating 时,您将能够执行以下操作:

modelBuilder.Entity<Agency>()  
    .ToTable("Agency", Properties.Settings.Default.MySchemaName);