2016-07-05 149 views
1

我想创建一个.net核心应用程序有一个连接到一个SQLite数据库。.net核心1.0.0与实体框架核心sqlite

我已经对.NET核心SDK 1.0安装,并已增加了以下的NuGet的程序包到我的项目:

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

我使用以下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'. 

是否有可能installe候选发布版2与1.0版本一起,我真的不得不这样做是为了得到实体框架与.net核心1.0喋喋不休?

+0

您必须更新两者才能获得RTM状态。你不能错配版本。检查您的Global.json文件是否有适当的“sdk”:{ – mvermef

回答

0

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

  1. 更改版本的工具1.0.0-preview2决赛
  2. 删除的框架部分
  3. 进口添加依赖关系Microsoft.EntityFrameworkCore.Design

这里完整的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" 
    } 
} 
1

你必须更新两个才能到达RTM。你不能错配版本。检查您的Global.json文件是否存在相应的 "sdk":{ "version" : "1.0.0-preview2-003121" }

+0

感谢您的帮助。 global.json具有正确的版本。但是,我怎样才能将实体框架更新为RTM?根据Nuget,我已经有了最新版本。或者我只需要使用更新版本的实体框架工具? –