Я сделал основное приложение asp.net, которое отлично работает на моей машине с Windows. Мне нужно развернуть это приложение на машине с Linux. Моя проблема возникает при переносе моих таблиц на сервер MySQL на компьютере с Linux. У меня есть машина Linux для производственных целей, и мне нужен сервер MySQL для работы с пользователями. Я создал базу данных, но когда я запускаю команду обновления базы данных dotnet ef для переноса моих таблиц в эту базу данных, я вижу следующую ошибку:
Моя строка подключения, используемая для подключения к моей базе данных, выглядит следующим образом:
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=ElectransUsers;Trusted_Connection=True;MultipleActiveResultSets=true"
},
Если я изменяю строку подключения, записывая localhost вместо localdb, я вижу следующую ошибку:
Если я удаляю mssqllocaldb, я вижу следующую ошибку:
И мой метод Configure в скрипте Startup.cs выглядит следующим образом:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<IdentityUser, IdentityRole>()
//.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSignalR();
}
Кто-нибудь знает, что я должен изменить в строке подключения, чтобы выполнить миграцию?
Спасибо.
Я изменил свою строку соединения и код:
services.AddDbContext<DbContext>(options =>
options.UseMySql(Configuration.GetConnectionString("MysqlConnection"),
mySqlOptions =>
{
mySqlOptions.ServerVersion(new Version(10, 1, 38), Pomelo.EntityFrameworkCore.MySql.Infrastructure.ServerType.MySql); // replace with your Server Version and Type
}));
"MysqlConnection": "Server=localhost;Database=ElectransUsers;User=root;Password=my_password;"
Но я вижу следующую ошибку:
Вы знаете, что я делаю не так?