.net 核心 1.0.0 与 entity framework 核心 sqlite

.net core 1.0.0 with entity framework core sqlite

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

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

我正在使用以下 project.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 Files\dotnet\shared\Microsoft.NETCore.App
  - The following versions are installed:
      1.0.0
  - Alternatively, install the framework version '1.0.0-rc2-3002702'.

是否可以将候选发布版 2 与 1.0 版本一起安装,我真的必须这样做才能获得 entity framework 运行nging with .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-preview2-final
  2. 删除框架部分中的导入
  3. 添加对 Microsoft.EntityFrameworkCore.Design
  4. 的依赖

这是完整的 project.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"
  }
}