динамически добавить новый столбец в таблицу базы данных

Поскольку EF Migration предоставляет возможность создавать новые столбцы как часть миграции, как показано ниже.

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)
             }
        }

person harishr    schedule 21.11.2019    source источник
comment
Вы используете EfMigrations или FluentMigrator?   -  person John Zabroski    schedule 04.01.2020
comment
Я сейчас использую EF-Migrations   -  person harishr    schedule 06.01.2020