Docker: сбой обновления базы данных dotnet ef

В Swift 4, поскольку String является сборником Character, вам нужно использовать map

let array1 = Array("hello") // Array<Character>
let array2 = Array("hello").map({ "\($0)" }) // Array<String>
let array3 = "hello".map(String.init) // Array<String>
0
задан J. Loe 3 March 2019 в 11:47
поделиться

1 ответ

Хорошо, вот шаги, которые мне нужно было сделать, чтобы решить мою проблему:

  1. Пришлось реструктурировать мой Program.cs в соответствии с этим сайтом: https: //www.ryadel.com/en/buildwebhost-unable-to-create-an-object-of-type-applicationdbcontext-error-idesigntimedbcontextfactory-ef-core-2-fix/

  2. [ 117]

    Мне пришлось создать DesignTimeDbContextFactory, которая создает контекст БД, используя строку DefaultConnection, найденную в appsettings.json. Фабрика выглядит так:

public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<FileManagerDbContext>
{
    public FileManagerDbContext CreateDbContext(string[] args)
    {
        IConfigurationRoot configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json")
            .Build();
        var builder = new DbContextOptionsBuilder<FileManagerDbContext>();
        var connectionString = configuration.GetConnectionString("DefaultConnection");
        builder.UseSqlite(connectionString);
        return new FileManagerDbContext(builder.Options);
    }
}
    [ 118] В моем Dockerfile мне пришлось явно скопировать appsettings.json рядом с файлом .csproj. В моем случае это означало добавление этой команды в Dockerfile:

COPY ["src/appsettings.json", "WebApp/FileManager.WebApp/"]

После этих шагов развертывание было успешным.

0
ответ дан J. Loe 3 March 2019 в 11:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: