EF 6带有dnx项目

Don*_*ers 9 c# entity-framework-6 dnx project.json asp.net-core

我有一个新的ASP.net 5 dnx类库,我用于实体框架.我需要针对EF 6,因为我需要的一些功能不在EF 7中.

首先,EF工具(如启用迁移)不存在.我添加了一个旧的样式类库并安装了EF 6,现在命令就在那里.

当我运行启用迁移时,我收到此错误:

PM>启用 - 迁移

异常调用 "SetData的" 与 "2" 的参数(一个或多个):在装配"类型 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject'"Microsoft.VisualStudio.ProjectSystem.VS.Implementation,版本= 14.1. 0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'未标记为可序列化." 在d:\项目\卤面\ FMS \代码\电流\ FMSSupport\FMSSupport \包\ EntityFramework.6.1.3\TOOLS\EntityFramework.psm1:720字符:5 + $ domain.SetData( 'startUpProject',$ startUpProject)+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:SerializationException System.NullReferenceException:未将对象引用设置为对象的实例.在System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(工程项目的Int32 shellVersion)在System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(工程项目)在System.Data.Entity.Migrations.MigrationsDomainCommand. GetFacade(字符串configurationTypeName,布尔useContextWorkingDirectory)在System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(字符串contextTypeName)在System.Data.Entity.Migrations.EnableMigrationsCommand.<> c__DisplayClass2.<构造函数> b__0()在System.Data .Entity.Migrations.MigrationsDomainCommand.Execute(Action command)对象引用未设置为对象的实例.

我尝试了不同的启用迁移选项,例如指定启动项目或contextTypeName.

有任何想法吗?

Ila*_*lan 1

这是因为 ASP.NET Core 引入了新的项目类型/配置系统(请参阅package.config 与 project.json),而旧的 EF 工具不知道如何与新系统(project.json)一起使用。如果您想返回 EF6,最简单的方法可能是创建一个新项目并将代码移植到其中。

有趣的是(好吧,实际上令人失望)他们正在对project.json进行回溯,请参阅: http ://xoofx.com/blog/2016/05/11/goodbye-project-json/