我想知道在数据库迁移期间注入IHistoryRepository
的自定义实现的最佳方法是什么。
请问这个
OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.ReplaceService<IHistoryRepository, MyRepository>();
}
使用ASP.NET Core还是应该做其他事情?
答案 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。