如何重新生成EDMX文件?

时间:2014-06-10 07:43:48

标签: c# .net asp.net-mvc entity-framework-4

我正在使用实体框架4的.Net 4.0项目。我们的基础数据模型已经改变,我想更新实体框架组件,特别是模型的EDMX文件。目前,我手动执行此任务,既耗时又容易出错。

有没有办法自动重新生成EDMX文件?

此外,我更希望是否重新生成模型类,因为这些类已经使用其他逻辑进行了扩展。我可以手动编辑这些类,我只想要一种自动生成EDMX文件的方法。

2 个答案:

答案 0 :(得分:10)

在模型浏览器或模型图中,您可以右键单击并使用“从数据库更新模型...”功能。但是,这将重新生成类。

我认为您应该重新考虑直接编辑模型类,而是使用部分类来扩展其功能(默认情况下生成的类是部分的)。

您还可以编辑模型模板文件(展开.edmx文件时的.tt文件)以按您希望的方式生成它们。搜索T4模板以查找有关此内容的教程。

答案 1 :(得分:1)

没有自动刷新EDMX(如果他们在某些时候实现它,它会很好用)并且刷新EDMX的最佳和最准确的方法是删除图中的所有表,然后删除所有复杂类型等等。在模型浏览器中。然后右键单击Diagram重新生成EDMX,然后单击Update Database from Database ...

我不会建议扩展.tt文件,因为它们会在您下次重新生成EDMX类时消失,而是有一个模型项目或DTO项目,您可以在其中处理反映EDMX属性并为您执行操作数据那里。