VS 2012 - EF 5.0 - 从数据库更新模型 - 不接收表更改

c0d*_*03t 9 entity-framework visual-studio-2012

在Visual Studio 2010 EF 4中,我可以向数据库表添加一个新列,然后单击我的.edmx上的"从数据库更新模型",这一切在世界上都很好.

在Visual Studio 2012 EF 5中,我更改了一个表,然后单击"从数据库更新模型",它不再获取对各个表的更改.

我错过了什么......或者这是VS2012的新功能?

更新 我可以使用添加的列来反映.EDMX文件的表的唯一方法是删除表,然后"从数据库更新模型",它将获取添加的列.但是,它将添加的表格远离左侧,我必须将其移回原位.没什么大不了的.

Tob*_*s J 8

是的,这仍然适用于VS2012.您使用默认代码生成还是有TT文件?它可能是它被添加到EDMX但你的类文件没有被更新.

尝试在解决方案资源管理器中右键单击EDMX文件或相关的TT文件,然后选择"运行自定义工具"以确保它正在重新生成.


Rya*_*ies 2

拥有 EF 模型与它在数据库中的下划线方式之间存在差异。当您“从数据库更新模型”时,如果实体/表已导入到您的数据模型中,那么您将刷新该实体。此过程不会自动将数据库架构映射到现有数据模型,但是您可以向 EF 模型中的实体添加属性,然后将该属性映射到数据库列(这正是当您正常删除和更新)。

当您首先删除实体时,更新 EF 会知道该表/实体之前尚未导入,因此会自动为您映射所有数据库列。

总之,您不必删除实体,但对于简单实体来说,删除实体会更容易。