abp multi dbcontext миграция и регистрация - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь использовать ядро ​​.net внутри приложения с несколькими базами данных, я добавил разные dbcontexts и реализовал MyDBConnectionStringResolver, теперь с первым dbcontext все в порядке. Я попытался перенести второй dbcontext, он не генерирует правильный код миграции, я изменил 3 места,

    public class MyDBConnectionStringResolver : DefaultConnectionStringResolver
{
    public MyDBConnectionStringResolver(IAbpStartupConfiguration configuration) : base(configuration)
    {
    }

    public override string GetNameOrConnectionString(ConnectionStringResolveArgs args)
    {
        var configuration = AppConfigurations.Get(WebContentDirectoryFinder.CalculateContentRootFolder());

        switch (args["DbContextType"].ToString())
        {
            case "*.EntityFrameworkCore.DynamicFormsDbContext":
                return configuration.GetConnectionString(DynamicFormsConsts.ConnectionStringName);
            case "*.EntityFrameworkCore.WorldDbContext":
                return configuration.GetConnectionString(DynamicFormsConsts.ConnectionStringNameRead);
        }

        return string.Empty;
    }
}

                //add second dbcontext
            Configuration.Modules.AbpEfCore().AddDbContext<WorldDbContext>(options =>
            {
                if (options.ExistingConnection != null)
                    options.DbContextOptions.UseMySql(options.ExistingConnection);
                else
                    options.DbContextOptions.UseMySql(options.ConnectionString);

            });

Выше // секунда в методе preInitialize.

Затем в * OptionConfigurer

        //for the 2nd dbcontext
    public static void Configure(DbContextOptionsBuilder<WorldDbContext> builder, string connectionString)
    {
        builder.UseMySql(connectionString);
    }

    public static void Configure(DbContextOptionsBuilder<WorldDbContext> builder, DbConnection connection)
    {
        builder.UseMySql(connection);
    }

Add-Migrate -world -C WorldContext -o какая-то папка не работает, как ожидается, чтобы показывать только один dbset, она генерирует все другие сущности в другом dbcontext. Как я могу перенести это и как получить экземпляр dbcontext в модуле AppService?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...