我有一个包含5个表格的db。在开始时,我已经添加了这些表格,但之后决定删除一些由于某些关系编译错误。重新添加到实体模型(edmx)时不显示表格
现在,当我想将它们添加回来,我打开EDMX文件 - >从数据库更新模型......我没有看到附加选项卡下的表,但只有“刷新”选项卡下。
我怎样才能将它们重新添加?
我有一个包含5个表格的db。在开始时,我已经添加了这些表格,但之后决定删除一些由于某些关系编译错误。重新添加到实体模型(edmx)时不显示表格
现在,当我想将它们添加回来,我打开EDMX文件 - >从数据库更新模型......我没有看到附加选项卡下的表,但只有“刷新”选项卡下。
我怎样才能将它们重新添加?
为了表重新添加到您的模型,你首先需要从模型中删除该表。 (表的列表是可见的[model.Store]树(见“模型浏览器” pane-你可以单击鼠标右键菜单打开它)。 当您运行“从数据库更新模型......”该表将出现在“添加”选项卡中的“更新向导”的第一步
步骤来完成:
要删除所有对表的引用您的模型:
非常好的答案;这帮助我解决了这个问题。 我不知道自这个答案发布以来事情是否发生了变化,但现在解决方案似乎更加简单。使用Model Browser窗口查看edmx文件,并找到要在Store树中重新添加的表格。只需删除节点,保存edmx,然后表格将在“添加表格”对话框中再次出现。 – 2012-07-16 11:14:41
你想让它在模型中删除后重新添加的实体。
除了编辑edmx文件还有另一种方法来做到这一点。
您将不得不临时从数据库中删除该表。
注:我只这如果数据库是不是在生产呢!
所以在SQL Server Management Studio中第一创建一个脚本:
右击与您的模型中缺失的实体对应表(一个或多个)。选择'Script Table as','CREATE To','新查询编辑器窗口'。
第二步是删除表。再次右键单击并选择“删除”。确认删除。
早在Visual Studio中做模型的更新。
返回到SQL Server Management Studio并运行运行您刚刚创建的'create'脚本。
表格将重新添加到您的数据库中。
在Visual Studio中,您现在可以再次执行更新,您的表格将显示在“添加”标签下!
除了上述需要从模型中删除的引用列表,请考虑删除AssociationSetMapping元素以及如果您的表与其他表具有关联关系。
我读这篇文章,其他搜索选项,但最后我发现了另一个回答,帮助我短了这个问题。
从错误消息看起来像你的一个表/视图没有 的主键。 EF需要每个表都有一个主键,以便 生成实体键。您仍然可以运行您的应用程序, 但我强烈建议您按照警告添加主键。
更新
如果一段时间后,你所做的一切都是罚款,仍然没有体现出任何的变化添加新列或更改数据类型。
的这个尝试手动更新的最佳方式,仍然是没有希望的,那么作为建议@mathijsuitmegen,删除和添加表,但这是喜欢最后的选择。
这是我的问题。缺少我正在导入的表上的主键。 – 2016-12-21 10:07:58
更简单的解决方法是在Model Browser
下
[modelName].Store -> Tables/ViewS
删除该表没有显示出来。然后右键点击模型“update from database
”,表格应该在那里。
右击在EDMX水平,说添加到TFS。 – user6225888 2017-02-07 00:57:37