【发布时间】:2021-03-11 11:39:18
【问题描述】:
我有一个使用 EF Core 的 ASP.NET Core 3.1 Web API 应用程序。这是我在Startup类的ConfigureServices方法中的配置:
services.AddDbContext<ApplicationContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("AppConn")));
上述配置经过测试,适用于 SQL Server 数据库。
然后我在成功安装它的包后切换到使用Sqlite。
services.AddDbContext<ApplicationContext>(options =>
options.UseSqlite("Data Source=sqlitedemo.db"));
但是当我尝试添加 EF 迁移时
add-migration initial -context ApplicationContext
我收到此错误:
System.Reflection.TargetInvocationException:调用的目标已抛出异常。
System.TypeLoadException:无法从程序集“Microsoft.EntityFrameworkCore, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.EntityFrameworkCore.Internal.SemanticVersionComparer”。
{ 堆栈跟踪 }
调用的目标已抛出异常。
【问题讨论】:
-
您似乎有 EF Core 相关的包版本不匹配。请包括与 EF Core 相关的项目包引用(来自 .csproj 的所有条目以
<PackageReference Include="Microsoft.EntityFrameworkCore.开头)
标签: c# .net-core entity-framework-core