__MigrationHistory를 기존 데이터베이스 테이블에 매핑하는 코드가 있습니다.엔티티 프레임 워크 : 여러 사용자 지정 기록 컨텍스트 사용
namespace Alvin_CMS.Migrations
{
public class CustomHistoryContext : HistoryContext
{
public CustomHistoryContext(DbConnection dbConnection, string defaultSchema)
: base(dbConnection, defaultSchema)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<HistoryRow>().ToTable(tableName: "__MigrationHistory", schemaName: "dbo");
//modelBuilder.Entity<HistoryRow>().Property(p => p.MigrationId).HasColumnName("Migration_ID");
}
}
public class CustomHistoryConfiguration : DbConfiguration
{
public CustomHistoryConfiguration()
{
this.SetHistoryContext("System.Data.SqlClient",
(connection, defaultSchema) => new CustomHistoryContext(connection, "dbo"));
}
}
}
또한 나는 다른 사용자 정의 역사의 맥락이 있습니다
namespace EAccounting.Migrations
{
public class CustomHistoryContext : HistoryContext
{
public CustomHistoryContext(DbConnection dbConnection, string defaultSchema)
: base(dbConnection, defaultSchema)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<HistoryRow>().ToTable(tableName: "__MigrationHistory", schemaName: "EAccounting");
//modelBuilder.Entity<HistoryRow>().Property(p => p.MigrationId).HasColumnName("Migration_ID");
}
}
public class CustomHistoryConfiguration : DbConfiguration
{
public CustomHistoryConfiguration()
{
this.SetHistoryContext("System.Data.SqlClient",
(connection, defaultSchema) => new CustomHistoryContext(connection, "EAccounting"));
}
}
}
을 그리고 난 내 코드에서이 전화 : 나는 자신의 사용자 정의 마이그레이션 역사 컨텍스트가 여러 데이터베이스를
Database.SetInitializer(new MigrateDatabaseToLatestVersion<EAccounting.Models.EAccountingMigrationDBContext, EAccounting.Migrations.Configuration>());
. 마이그레이션 내역의 데이터베이스 초기화 프로그램이 사용할 내역 컨텍스트를 선택하도록하려면 어떻게해야합니까?