Проблема с миграцией БД в dotnet:"значение не может быть нулевым. (Параметр 'connectionstring')"
Привет,
Я использую VSCode и изо всех сил пытаюсь перенести свою базу данных с помощью ef, так как уже установил необходимые пакеты dotnet.Моя проблема заключается в том, что каждый раз, когда я пытаюсь сделать "
sudo dotnet ef migrations add InitialCreate"он не завершит процесс, так как говорит, что у меня есть нулевой параметр connectionString(
System.ArgumentNullException: Value cannot be null. (Parameter 'connectionString')).Я дважды проверил свое строковое соединение с БД, которое выглядит следующим образом в моем appsettings.json:
"
"ConnectionStrings ": { "DataContext": "host=localhost;port=3306;user id=****;password=*******;database=*****;" }"
В классе Startup.cs у меня есть следующее:
public void ConfigureServices(IServiceCollection services) { var connectionString = Configuration.GetConnectionString("DataContext"); services.AddDbContext<DataContext>(options => options.UseMySql(connectionString)); services.AddControllersWithViews(); }
Теперь я не понимаю, почему он не работает, так как имя правильное вместе с синтаксисом в файле appsettings.json.Я знаю, что MySql.Данные-не лучшее решение для миграции, поэтому вместо этого я использую pomelo.Это мой файл project.csproj:
<PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.1"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.1"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration" Version="3.1.1" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.1.1" /> </ItemGroup>
Любая помощь будет оценена по достоинству!
Что я уже пробовал:
Я попытался изменить код в Startup.cs следующим образом:
"
services.AddDbContext<DataContext>(options => options.UseMySql(Configuration.GetConnectionString("DataContext")))"
Кроме этого,я не знаю, что еще я мог бы попробовать, так как соединение правильное и тот же код работал раньше...