数据库更改后如何反向工程 Code First

3

如果在 SQL 管理工具中有一些小的更改,是否有一种逆向工程代码的方法可以在 Code First 中实现?

在 EDMX 文件中,相当于双击 edmx 文件,右键单击并从数据库中更新,它会更新您的模型。

我之所以提出这个问题,是因为通过 SQL 管理工具进行了许多 SQL 更改,我不知道如何始终更新我的模型。

谢谢。


你有一个未修改模式的测试数据库吗? - jake
没有测试数据库... 我本来希望使用一个模拟框架。你问这个干嘛? - ccosgrove
这将是数据库优先(edmx)方法中的等效操作... http://www.c-sharpcorner.com/UploadFile/4b0136/database-first-approach-in-mvc-5-part-3/Images/UpdateTable.jpg - ccosgrove
如果您有备份或测试数据库可以与更改后的数据库进行比较,您可以使用Visual Studio 模式比较工具。 模式比较将识别数据库之间的差异。 - jake
谢谢,杰克。我正在寻找自动化的东西。我听说T4模板可能有效,你以前用过吗? - ccosgrove
1个回答

2

嗨,感谢您回复我。 只是为了明确起见...没有简单地运行更新类的方法,它们必须重新创建,旧类被删除并复制新类吗? - ccosgrove
1
Code First 的前提是在模型中进行更改,让 EF 更新数据库以匹配模型。如果您使用现有数据库开始或通过 SQL 添加对象,则需要使用其中一种可用技术将它们反向工程到模型中。VS2013 有一个模式比较实用程序,您可以使用它来同步事物。 - Steve Greene
你是否曾经使用过 T4 模板来生成类? - ccosgrove
是的,我实际上已经定制了反向工程模板,因为我正在引入很多遗留代码:https://msdn.microsoft.com/zh-cn/data/gg558520.aspx - Steve Greene
谢谢,@Steve Greene... 我会更深入地研究这个链接。 - ccosgrove
我可能会选择使用T4模板路线!谢谢! - ccosgrove

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