c# - 带有 dnx 项目的 EF 6

标签 c# asp.net-core entity-framework-6 dnx project.json

我有一个用于 Entity Framework 的新 ASP.net 5 dnx 类库。我需要以 EF 6 为目标,因为我需要的某些功能不在 EF 7 中。

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

当我运行启用迁移时出现此错误:

PM> Enable-Migrations

Exception calling "SetData" with "2" argument(s): "Type 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation.Package.Automation.OAProject' in assembly 'Microsoft.VisualStudio.ProjectSystem.VS.Implementation, Version=14.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable." At D:\Projects\Rebus\FMS\Code\Current\FMSSupport\FMSSupport\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:720 char:5 + $domain.SetData('startUpProject', $startUpProject) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SerializationException System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project project, Int32 shellVersion) at System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project project) at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory) at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName) at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0() at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) Object reference not set to an instance of an object.

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

有什么想法吗?

最佳答案

关注此recommendation , EF6 数据项目应使用现有的 .NET Framework 类库 csproj 类型。

即使遵循了建议,我仍然遇到同样的错误。卸载您的 ASP.NET Core 项目,然后在适当的 csproj 上调用 Enable-Migrations 命令应该允许命令执行。您可以通过右键单击 .NET Core 项目并选择“卸载项目”选项来卸载项目。还应注意,包管理器控制台窗口有一个“默认项目:”下拉选项。您应该使用 DbContext 选择项目。

关于c# - 带有 dnx 项目的 EF 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34956083/

相关文章:

c# - 在异步方法中使用 C# 从 EF 异步调用存储过程

c# - 如何画线并在面板中选择它

c# - DataGrid 按钮,树上的命令绑定(bind)相对源不起作用

c# - 使 Canvas 跟随相机

具有 Entity Framework 或普通 Sql 查询的 Azure 函数

c# - 如何链接添加到 DbSet 的实体

c# - Automapper - 将字符串属性转换为 SelectList?

c# - 从 Net Core 2.2 Web API 中的响应获取错误消息

c# - asp.net core 中的 app.RunIISPipeline() 需要哪些引用资料?

c# - 如何解码 .NET Core 中 Azure 搜索索引器生成的metadata_storage_path