Entity Framework Code First 迁移
Entity Framework帅呆了,尤其是和WCF Data Service使用,更是呆
EF Code Frist灰常方便,但是当实体模型变化后需要更新数据库。更新数据库时要使用PackageManagerConsole。
如果不是从NuGet获取的EF就会报错The EntityFramework package is not installed on project 'EFTest'.
解决很简单,在项目中添加packages.config,内容为
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>
设置为content(别的没试)
就可以在PackageManagerConsole中敲命令了
1启用迁移Enable-Migrations 看提示,也许需要-EnableAutomaticMigrations参数
2实体添加属性后需要 Add-Migration Add属性名称,生成带时间戳的文件,再Add-Migration 带时间戳的文件名
3更新数据库Update-Database
4删除属性后更新数据库Update-Database若已经有数据了会提示Automatic migration was not applied because it would result in data loss.如果确认数据无用可以删除则执行Update-Database -Verbose -Force即可。