Ho appena installato Visual Studio 17 e voglio usare mysql come database per sviluppare una WebAPI.
Il mio csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="1.1.1" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
</ItemGroup>
</Project>
Dal gestore di pacchetti NuGet ho installato Pomelo.EntityFrameworkCore.Mysql.
Il mio aspsettings.json:
{
"ConnectionStrings": {
"MysqlConnection": "server=localhost;userid=root;pwd=root;port=3306;database=aspnet;sslmode=none;"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
Nel mio strtup.cs all'interno di ConfigureServices () ho:
services.AddDbContext<WebAPIDataContext>(options =>
{
options.UseMySQL(Configuration.GetConnectionString("MysqlConnection")); }
);
services.AddMvc();
services.AddScoped<IProfileRepository, ProfileRepository>();
Tuttavia, mi sta dando DBContextOptionsBuilder does not contain a definition for UseMyQL
errore DBContextOptionsBuilder does not contain a definition for UseMyQL
. Perché è così?
L'ho cambiato in:
// Add framework services.
services.AddDbContext<WebAPIDataContext>(options =>
{
options.UseMySql(Configuration.GetConnectionString("MysqlConnection"));
});