如何快速刷新ADO.NET实体数据模型?

7

我在我的 C# 项目中使用 ADO.NET 实体数据模型。在我的项目中,有一个在数据库上生成的 ADO.NET 实体数据模型。如何快速刷新 ADO.NET 实体数据模型以反映数据库更改? 我一直在删除模型,然后创建一个新模型。我相信有一种更简单和快捷的方法。

6个回答

8

右键点击模型设计器,选择“从数据库更新模型”,会弹出一个对话框。点击确定,您的模型将被刷新。

顺便说一下,我使用的是EF 4.0,并跳过了早期版本,所以无法告诉您在VS 2008中的情况。


1
但是当我更改列类型时,它仍然运行不佳。在这种情况下,我需要重新创建模型。 - Anton
通常情况下,即使使用VS2010和EF 4.0,它也很糟糕。我总是遇到同样的问题,目前我找到的唯一解决方案是停止数据库服务器并重新启动。这对我总是有效的。 - Bruno Machado - vargero

4

从数据库更新模型并不是很好用。至少在VS 2008/C# 3.5中,它无法删除旧列等。


我即使使用VS2012、.NET 4.5和EF5仍然遇到了这个问题。 :/ - Taudris

4

我经常使用Ctrl-A(全选)然后按删除键,然后从头开始创建数据库模型——在很多情况下,更新操作并不起作用。至少在我正在使用的EF4 / VS2010中是如此。


这里有一个替代“更新模型”向导的工具,它可以让你完全掌控更新的内容:http://huagati.blogspot.com/2010/07/introducing-model-comparer-for-entity.html - KristoferA
有没有免费的替代品? - Anton

1

在此之后,您应该打开Model.edmx并右键单击属性。现在选择(Update Model from Database),它会显示另一个带有选项卡的面板。您可以选择添加、刷新和删除。在您当前的情况下,应选择Refresh。然后选择Tables->dbo->数据库中表的名称,然后单击完成。就这样,您已经刷新了表。

但有时您会发现模型中的某些东西出了问题,因为列不在正确的位置上。要解决这个问题,只需右键单击列名,然后选择'UP'将其向上移动或'DOWN'将其向下移动即可。

我希望这能有所帮助。



0

右击 - 从数据库更新模型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接