如何在EF Core中使用自定义HistoryRepository?

时间:2016-12-09 12:13:47

标签: entity-framework ef-migrations

我想知道在数据库迁移期间注入IHistoryRepository的自定义实现的最佳方法是什么。

请问这个

OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
     optionsBuilder.ReplaceService<IHistoryRepository, MyRepository>();
}

使用ASP.NET Core还是应该做其他事情?

1 个答案:

答案 0 :(得分:1)

收到Brice Lambson发来的电子邮件

如果您只想更改名称(或架构),有一种简单的方法:

optionsBuilder.UseSqlServer(
    "MyConnectionString",
    x => x.MigrationsHistoryTable("MyHistoryTable", "mySchema"));

要替换EF Core 1.1中的IHistoryRepository服务,这里有一些代码。

optionsBuilder
    .UseSqlServer("MyConnectionString")
    .ReplaceService<SqlServerHistoryRepository, MyHistoryRepository>();

替换特定于提供程序的类型的原因是因为IHistoryRepository是使用DatabaseProviderServices和朋友按提供程序解析的。有关相关代码行,请参阅SqlServerDatabaseProviderServices。