EF Core не может сначала перенести код с помощью инструмента [дубликат]C#

Место общения программистов C#
Anonymous
EF Core не может сначала перенести код с помощью инструмента [дубликат]

Сообщение Anonymous »

Проблема в том, что мои объекты и контекст находятся в App.Database, но контекст зарегистрирован в IOC в App.
Я добавил ссылка на App.Database в App, но
Выполнение этой команды:

Код: Выделить всё

dotnet ef migrations script  --project=App.Database
приводит к следующей ошибке:

Невозможно создать 'DbContext' типа ''. Исключение «Невозможно разрешить службу для типа Microsoft.EntityFrameworkCore.DbContextOptions» при попытке активировать «App.Database.MyContext». был выброшен при попытке создать экземпляр. Сведения о различных шаблонах, поддерживаемых во время разработки, см. на странице https://go.microsoft.com/fwlink/?linkid=851728

Program.cs (в Сборка приложения):

Код: Выделить всё

var host = Host.CreateDefaultBuilder()
.ConfigureServices((context, collection) => ServerServiceCollection.AddServices(collection, context.Configuration))
.UseSerilog((hostContext, _, logger) =>
logger.ReadFrom.Configuration(hostContext.Configuration)
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning))
.Build();
ServerServiceCollection

Код: Выделить всё

public static class ServerServiceCollection
{
public static void AddServices(IServiceCollection serviceCollection, IConfiguration config)
{
DatabaseServiceCollection.AddServices(serviceCollection, config);
MapperServiceCollection.AddServices(serviceCollection, config);
// ...
В DatabaseServiceCollection у меня есть:

Код: Выделить всё

serviceCollection.AddDbContext(options =>
{
options.UseMySql(connectionString, MySqlServerVersion.LatestSupportedServerVersion, mySqlOptions =>
mySqlOptions.EnableRetryOnFailure(
maxRetryCount: 10,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null
))
.UseSnakeCaseNamingConvention();
});
Я использую провайдер Pomelo MySQL

Подробнее здесь: https://stackoverflow.com/questions/783 ... -with-tool

Вернуться в «C#»