由于EF迁移确实提供了一种在迁移过程中创建新列的方法,如下所示
public class AddRatingMig : DbMigration
{
public override void Up()
{
AddColumn("dbo.Movies", "Rating", c => c.String());
}
public override void Down()
{
DropColumn("dbo.Movies", "Rating");
}
}
但是我想创建一列作为代码的一部分,而不是通过迁移。我们为管理员提供了一个捕获有关应用程序用户的更多信息的选项。实现该功能的方法是通过前端的某些复选框。在此基础上,将在后端添加列。
因此,我正在寻找的是用于迁移实现器的注入器,可以使用该注入器调用“ AddColumn”方法。我可以对其进行硬编码,但是鉴于EF-migration
或fluent-migrator
使用了流利的语法,我正在检查是否可以使用它。
public interface IDbManagerService {
void AddColumn(string table, string column)
}
public class DbManager: IDbManagerService {
private readonly ??? dbMigrator;
void AddColumn(string table, string column) {
dbMigrator.AddColumn(table, column)
}
}