如何在不重新创建表的情况下添加实体

时间:2012-06-21 10:36:43

标签: sql-server entity-framework

我有这个edmx模型(见下文),我想从OrderWorker *-1添加一个额外的关联,如红线所示,问题是,数据库已经有很多我不想删除的数据,是否可以在不重新创建表的情况下添加?

enter image description here

2 个答案:

答案 0 :(得分:0)

仅仅因为您使用Entity Designer开始并不意味着您每次都必须完全重新创建数据库。

如果从更改的模型生成SQL,您应该能够轻松找到引用新关系的部分。这是您需要针对数据库运行的唯一部分 - 只需将其拆分为自己的文件即可。如果有疑问,请保存旧SQL文件的副本,添加您的关系,生成新文件并创建差异以确保。

或者,如果您非常了解EF如何表示数据和关系,则可以手动更改数据库。只要数据库和模型准确连贯,EF就不会真正关心数据库如何通过这种方式。

答案 1 :(得分:0)

只需让EF在您的开发环境中创建一个新数据库并使用一些数据库差异。用于将更改脚本从旧数据库更改为新数据库的工具。 VS 2010 Premium和Ultimate包含这个差异。工具,如果您安装Database Generation tools power pack,您甚至可以直接从EDMX设计师处使用它。

另一种流行的差异工具例如是SQL Compare by RedGate

相关问题