.NET Core 1.0.0 与实体框架核心 SQLITE



我正在尝试创建一个连接到sqlite数据库的.net核心应用程序。

我安装了 .net core sdk 1.0,并将以下 Nuget 包添加到我的项目中:

  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Design

我正在使用以下项目.json文件:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    },
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": 
       {
      "version": "1.0.0-final",
      "imports": [ 
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}

然后我运行以下命令:

dotnet restore

现在我想检查是否已成功安装 ef 工具以创建迁移。但是当我运行时:

dotnet ef --help

我得到以下结果:

The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found.
  - Check application dependencies and target a framework version installed at:
      C:Program FilesdotnetsharedMicrosoft.NETCore.App
  - The following versions are installed:
      1.0.0
  - Alternatively, install the framework version '1.0.0-rc2-3002702'.
是否可以将候选版本 2 与 1.0

版本一起安装,我真的必须这样做才能让实体框架使用 .net core 1.0 运行吗?

您必须

更新两者才能访问RTM。 您不能不匹配版本。 检查您的 Global.json 文件是否具有适当的 "sdk":{ "version" : "1.0.0-preview2-003121" }存在。

我找到了如何做到这一点。这些更改基于 https://docs.efproject.net/en/latest/miscellaneous/rc2-rtm-upgrade.html。

  1. 将工具的版本更改为 1.0.0-预览2-最终
  2. 删除框架部分中的导入
  3. 向 Microsoft.EntityFrameworkCore.Design 添加依赖项

这是完整的项目.json:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    }
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": 
       {
      "version": "1.0.0-preview2-final",
      "imports": [ 
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
    }
  }
}

为了完整起见,这是global.json:

{
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

最新更新