我正在开发由另一位开发人员构建的系统。当我运行该项目时,我在运行时收到以下错误。这是实体框架方法吗?是来自特定版本吗?我不知道如何找出这个错误的根源。
System.MissingMethodException:找不到方法:'Void System.Data.Entity.ModelConfiguration.EntityTypeConfiguration`1.ToTable(System.String)'。
我过去看到的情况是解决方案中的不同项目引用不同版本的 EF。我会仔细检查每个项目,并确保它们引用相同版本的 EF。
或者只需右键单击
解决方案 -> 管理 NuGet 包 -> 更新 -> 实体框架
这会将所有项目更新为最新的 EF。
EntityTypeConfiguration<T>.ToTable(String)
方法是实体框架 5 中的新方法,它是独立于 .NET Framework 其余部分的第一个 EF 版本。
您的项目/解决方案可能正在引用 .NET Framework 内置的实体框架(版本 4)。确保您引用了正确的 EF 二进制文件。
就我而言,必须重新启动 Visual Studio。
就我而言,类似的错误消息是由于我在解决方案中更新 EF 导致的,超出了与其连接的 MySql 服务器兼容的范围。因此,即使所有项目都运行相同的版本,它也永远不会在该服务器上运行。