并排使用EF核心和EF6

时间:2019-10-16 18:43:40

标签: entity-framework entity-framework-6 ef-core-3.0

我有一个.NET Core 3.0解决方案,其中包含5个项目。其中一个项目使用EF6,另一个项目使用EF Core,因此EF6和EF Core并排使用。 Visual Studio尽可能新鲜(16.3.5)。尝试为使用EF6的项目创建迁移并在装有Windows 10的笔记本电脑上执行Add-Migration命令时,我看到一条警告消息:“已安装了Entity Framework 6和Entity FrameworkCore。EntityFramework 6工具是,但一切正常,迁移成功完成。

Get-Module命令显示下表:

---------- -------    ----                                ----------------                                                                            
Script     6.3.0      EntityFramework6                    {Add-EFDefaultConnectionFactory, Add-EFProvider, Add-Migration, Enable-Migrations...}
Script     3.0.0      EntityFrameworkCore                 {Add-Migration, Drop-Database, Enable-Migrations, Get-DbContext...}
Script     2.0.0.0    NuGet                               {Add-BindingRedirect, Find-Package, Get-Package, Get-Project...}
Script     0.0        profile

在另一个装有Windows 7的工作站上,运行相同的命令,我看到几乎相同的表,但是EF6导出的cmdlet的列表为空:

---------- -------    ----                                ----------------                                                                            
Script     6.3.0      EntityFramework6                    
Script     3.0.0      EntityFrameworkCore                 {Add-Migration, Drop-Database, Enable-Migrations, Get-DbContext...}
Script     2.0.0.0    NuGet                               {Add-BindingRedirect, Find-Package, Get-Package, Get-Project...}
Script     0.0        profile 

最终,在这种情况下,我根本无法对EF6绑定的项目执行迁移。我该如何解决? “添加-迁移”或“ EntityFramework \ Add-Migration”或“ EntityFrameworkCore \ Add-Migration”均无效。

更新2019年10月17日 在我看来,我的VS安装已损坏。好消息是EF6.3附带了ef.exe实用程序,该实用程序替代了migration.exe,并允许开发人员在VS IDE外部使用命令行来创建迁移。

1 个答案:

答案 0 :(得分:0)

仅使用EF6或仅依赖EFCore的项目创建其他解决方案,并执行使用该解决方案时需要执行的特定于版本的操作。

相关问题