数据库更改后更新实体框架模型

时间:2015-02-02 02:28:32

标签: c# entity-framework ef-code-first

我正在使用Entity Framework,我决定尝试Code First路由。它到目前为止已经解决了,但我不得不在数据库中添加一个表和一些外键关系。似乎没有办法更新这个。我理解"代码优先"意味着它不应该依赖于数据库,但是如果我需要对数据库进行更改会怎么样?

有没有办法从数据库中正确生成我的新模型?

1 个答案:

答案 0 :(得分:0)

我发现最简单的方法是对POCO进行更改,然后构建迁移,并在更新数据库时在powershell控制台中使用标记-Script,如下所示:

Update-Database -Script -Force -ProjectName 'MyProject'
然后

将为您创建一个更改的SQL脚本,然后只执行在MigrationHistory表中插入行的最后一部分。现在,EF了解这些变化,并认为它们已应用于数据库。

但是,如果您使用显式映射(属性或FluentAPI),那么您甚至可以在不需要更新任何内容的情况下离开。根据我的经验,EF不会知道其中的差异。