2015-10-16 53 views
0

也许我打败了Code First的目的,但出于某种原因,我们来看看这个问题。 我在EF Code First工作。我的'汽车'POCO有一个“Make”字段,它与数据库中的“Make”列匹配。现在我来了,我手动将数据库中的列重命名为“制造商”。我如何强制EF追上并更新/重命名POCO?实体框架代码第一个手动数据库更改没有更新

在我使用的EntityFramework 6.1.3和VS的时刻2010年

+0

您可以删除数据库并重新创建它。或者着眼于使用迁移。 – DavidG

+0

我正在使用迁移。我已经尝试过“Add-Migration ManuallyUpdatedDatabase”命令,但仍然没有重命名POCO中的属性。 –

+0

哦,我误解了你的问题。您首先使用代码,这意味着您应该更改* code *并让迁移重命名数据库列,而不是其他方式。 – DavidG

回答

0

我能找到的数据库被淘汰的代码侧EF同步的这个问题的唯一解决办法是删除所有的MIGRATIONS和ENTITIES poco类,并在数据库端删除_migrations表。然后返回到您的应用程序并向您的项目添加一个新的“现有数据库中的代码优先”。

这很容易解决了我的问题,并允许我使用Code First和SQL Server Management Studio(正如我喜欢做的一样(直到我在EF上更好))。

我知道这是一种解决办法,但如果您发现自己处于这种状况,它会让您离开监狱。

相关问题