EntityFrameworkCore使用Migrations自动更新数据库
系统环境:Win10
IDE:VS2017 RC4
.netcore版本:1.1
一、新建ASP.NET Core WebApi项目
二、引用Microsoft.EntityFrameworkCore.Sqlite
使用VS Nuget工具,添加对Microsoft.EntityFrameworkCore.Sqlite库的引用,如使用其他数据库,添加相对应的引用即可。
三、使项目支持dotnet ef工具以使用Migrations
手动修改项目csproj文件
在ItemGroup.DotNetCliToolReference节点添加Microsoft.EntityFrameworkCore.Tools.DotNet工具的引用,注意版本1.0.0-msbuild3-final,VS2017 RC4 用的是MSBuild格式。
并在ItemGroup.PackageReference节点添加对Microsoft.EntityFrameworkCore.Design的引用,因为使用dotnet ef migrations add命令需要该引用。
······
······
······
手动添加的原因是我在Nuget添加Microsoft.EntityFrameworkCore.Tools.DotNet时,报了一个错,可能是VS2017 RC版本的BUG:
Package 'Microsoft.EntityFrameworkCore.Tools.DotNet 1.1.0-preview4-final' has a package type 'DotnetCliTool' that is not supported by project 'EntityFrameworkCoreMigrationsDemo'.
CMD命令行cd到项目目录下(非Solution目录),执行dotnet build,dotnet ef
C:\WorkSpacesC\DotNetCore\EntityFrameworkCoreMigrationsDemo\EntityFrameworkCoreMigrationsDemo>dotnet build
Microsoft (R) Build Engine version 15.1.545.13942
Copyright (C) Microsoft C