在同一解决方案中混合 .NET Core 和 Framework - System.Data.Entity 问题

问题描述

我通过 .NET Core WebAPI 为我们的旧版 .NET 4 Framework 库提供了一个新条目。 不幸的是,我在运行时(加载依赖容器时)在 webapi 项目(net core)中遇到了一个问题:

FileNotFoundException: Could not load file or assembly 'System.Data.Entity'

我尝试在 webapi 项目中显式添加对 Entity 的引用,但随后出现 BadImageReferenceException,我知道该库在 net core 中已停止使用。

旧版 .NET 4 框架库广泛使用 EntityFramework (5.0.0),因此大量使用 System.Data.Entity。我尝试将这些库移植到 .netstandard,但需要进行大量代码更改。

我必须避免(大量)代码更改的任何选项,我可以在核心中使用闪亮的新 API 并且不受影响的支持库?

解决方法

EF5 与 .Net Core 不兼容。在 .Net Core 上运行的唯一经典 EF 版本是 Entity Framework 6 since Version 6.3

  • 支持 .NET Core 3.0
    除 .NET Framework 4.x 外,EntityFramework 包现在还面向 .NET Standard 2.1。

因此从 EF5 to EF6 更新以解决您的问题。