Я создал ASP.NET Core 3.1
веб-приложение и хочу использовать MySQL в качестве базы данных.
Я следую наряду с некоторыми учебниками YouTube по созданию MySQL database
с ASP.NET Core 3.1
[первый подход к коду] включая руководство с этого сайта:
https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/intro?view=aspnetcore-3.1&tabs=visual-studio
Я создал DataModel Class
, добавил службу в UseMySQL
классу Startup.cs и создан AppDBContext Class
, который реализует DbContext Class
.
Когда я запускаю эту команду в Консоль диспетчера пакетов : Add-Migration InitialDatabase
приложение создание миграции успешно.
Когда я запускаю update-database
, оно выдает это исключение:
fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
An error occurred using the connection to database '' on server 'localhost'.
An error occurred using the connection to database '' on server 'localhost'.
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseMySQL' call.
Когда я вызываю функцию EnableRetryOnFailure();
, как требуется, я сталкиваюсь с этим исключением:
ошибка: Microsoft.EntityFrameworkCore.Database.Connection [20004] Произошла ошибка при подключении к базе данных '' на сервере 'localhost'. Произошла ошибка при подключении к базе данных '' на сервере 'localhost'.
В чем может быть проблема? Где я ошибаюсь?
Если у вас есть ссылки на полезные статьи об использовании MySQL Database
с ASP.NET Core
, я был бы признателен за вашу помощь по этому конкретному вопросу.
Я использую Visual Studio IDE 2019 и ASP. NET Core 3.1.1
Дополнительный код:
Это класс Startup.cs:
private IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
// database connection string configuration
services.AddDbContextPool<AppDBContext>(options => options.UseMySql(_configuration.GetConnectionString("DatabaseConnectionString"),
mySqlOptionsAction: options => { options.EnableRetryOnFailure(); }
));
services.AddMvc();
}
Это строка подключения в настройках приложения. json:
"ConnectionStrings": {
"DatabaseConnectionString": "Server=localhost;Database=MyAppDB;user=root;Password=123;"
}