C# 使用asp.net核心和.net framework应用程序中的EF

C# 使用asp.net核心和.net framework应用程序中的EF,c#,entity-framework,asp.net-core,entity-framework-core,.net-standard,C#,Entity Framework,Asp.net Core,Entity Framework Core,.net Standard,是否可以为模型/上下文/迁移提供一个公共代码库,以使用asp.net核心应用程序(3.1)和.net framework应用程序(4.6.1)中相同的SQL DB?我的尝试失败了。除了创建两个项目外,没有其他解决方案,一个在.net core 3.1程序集中使用EF core,另一个在目标4.6.1中使用EF6 我试图创建一个.net标准2.0项目(只有EF core),我可以从这两个应用程序中引用它,但这似乎不可能?未能使用迁移工具,因为.net standard 2.0仅提供“接口” 我想您

是否可以为模型/上下文/迁移提供一个公共代码库,以使用asp.net核心应用程序(3.1)和.net framework应用程序(4.6.1)中相同的SQL DB?我的尝试失败了。除了创建两个项目外,没有其他解决方案,一个在.net core 3.1程序集中使用EF core,另一个在目标4.6.1中使用EF6

我试图创建一个.net标准2.0项目(只有EF core),我可以从这两个应用程序中引用它,但这似乎不可能?未能使用迁移工具,因为.net standard 2.0仅提供“接口”


我想您将无法使用EF核心(即使通过NetStandard)和Net4.6.1,因为兼容性。您可以将NET4.6.1至少升级到4.7.2,并使用EF6或EFCore

回复:使用迁移工具和net standard 2.0
不,你不能。解决方案是创建一个NetCore项目并将其用于运行迁移(直到您将所有项目迁移到NetCore)

在使用迁移工具时,您会看到什么确切的问题/错误?我在一个项目(netstandard2.1库)和另一个项目(netcoreapp3.1)中有数据类的工作项目,为数据库创建了第三个代码库,纯粹用于事务。让它通过api发出数据模型。在其他2个应用程序中设置API。@Zze这意味着在数据模型更改时,我必须更改3个项目?这与我的目标正好相反。实际的工作差异将是最小的,因为您可以将数据模型放在其他两个解决方案的共享csproj中。这样,EF中对数据模型的更改就会自动进入预期的api结果。
dotnet ef migrations add InitialCreate

> Startup project 'TestStandard.csproj' targets framework
> '.NETStandard'. There is no runtime associated with this framework,
> and projects targeting it cannot be executed directly. To use the
> Entity Framework Core .NET Command-line Tools with this project, add
> an executable project targeting .NET Core or .NET Framework that
> references this project