我想从使用 SQL Server 切换到 MySql。我已经为 SQL Server 创建了迁移并将它们应用于数据库。我已经添加了 Pomelo Mysql 包,现在想为 MySql 数据库创建迁移。我的问题是尝试使用 add-migration 命令时在包管理器控制台中收到错误消息。
- 这是一个.Net Core 2.2 项目
- Pomelo.EntityFrameworkCore.MySql 2.2.0 已添加到项目中
启动/配置服务
services.AddDbContext<ApplicationDbContext>(options => options.UseMySql(Configuration.GetConnectionString("DefaultConnection"),
mySqlOptions => { mySqlOptions.ServerVersion(new Version(8, 0, 16), ServerType.MySql); }));
csproj
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" PrivateAssets="All" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.2.0" />
</ItemGroup>
ApplicationDbContext 类
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql("Server=localhost;Database=myDbUid=myUserId;");
}
尝试添加迁移时收到以下错误。“已添加具有相同键的项目。键:Pomelo.EntityFrameworkCore.MySql.Infrastructure.Internal.MySqlOptionsExtension” 此错误是否与我以前迁移过 MS SQL Server 的事实有关?任何帮助将非常感激。