Entity framework 实体框架代码首次手动数据库更改未更新

Entity framework 实体框架代码首次手动数据库更改未更新,entity-framework,entity-framework-migrations,Entity Framework,Entity Framework Migrations,也许我首先违背了代码的目的,但出于这样或那样的原因,让我们来看看这个问题。 我首先在EF代码中工作。我的“汽车”POCO有一个“制造”字段,。。与数据库中的“Make”列匹配的。现在我开始手动将db中的列重命名为“Manufacturer”。如何强制EF赶上并更新/重命名POCO 目前我正在使用EntityFramework 6.1.3和VS 2010。对于数据库与EF在代码端不同步的问题,我能找到的唯一解决方案是删除所有迁移和实体poco类,并在db端删除_MIGRATIONS表。然后返回到您

也许我首先违背了代码的目的,但出于这样或那样的原因,让我们来看看这个问题。 我首先在EF代码中工作。我的“汽车”POCO有一个“制造”字段,。。与数据库中的“Make”列匹配的。现在我开始手动将db中的列重命名为“Manufacturer”。如何强制EF赶上并更新/重命名POCO


目前我正在使用EntityFramework 6.1.3和VS 2010。

对于数据库与EF在代码端不同步的问题,我能找到的唯一解决方案是删除所有迁移和实体poco类,并在db端删除_MIGRATIONS表。然后返回到您的应用程序并向项目中添加一个新的“代码优先于现有数据库”

这对我来说很容易解决了这个问题,并允许我先使用代码和SQLServerManagementStudio(就像我喜欢做的那样(直到我在EF方面做得更好))


我知道这是一个需要解决的问题,但如果你发现自己处于这种情况,它会让你出狱。

你可以删除数据库,然后重新创建它。或者考虑使用迁移。我正在使用迁移。我试过“AddMigrationManuallyUpdatedDatabase”命令,但仍然没有在POCO中重命名属性。哦,我误解了你的问题。您首先使用的是代码,这意味着您应该更改代码,让迁移重命名数据库列,而不是相反。好吧,但这次我很大胆,数据库失去了同步。那么我怎样才能把和谐带回宇宙呢?我曾考虑删除我所有的POCO,并从db中重新构建,但这似乎是一个黑客行为。是否没有优雅的“Rebuildoverwritelocal”命令?将列重命名回原来的状态,然后执行正确的迁移。