如何重新生成EDMX文件?

8
我正在处理一个使用Entity Framework 4的.Net 4.0项目。我们底层的数据模型发生了改变,我想更新Entity Framework组件,特别是模型的EDMX文件。目前我正在手动完成这个任务,但它既耗时又容易出错。
有没有一种自动重新生成EDMX文件的方法?
此外,我希望模型类不要被重新生成,因为这些类已经扩展了额外的逻辑。我可以手动编辑这些类,我只是想要一种自动生成EDMX文件的自动化方式。

1
您需要前往模型浏览器,右键单击并从数据库更新模型。 - Ehsan Sajjad
2个回答

14
在模型浏览器或模型图中,您可以右键单击并使用“从数据库更新模型”功能。然而,这将重新生成类,因为它应该如此。
我认为您应该重新考虑直接编辑模型类,而是使用局部类来扩展其功能(生成的类默认为局部类)。
您还可以编辑模型模板文件(扩展名为.edmx时的.tt文件),以按您想要的方式生成它们。搜索T4模板以查找相关教程。

完全同意,部分类就是为这种用途而存在的。我曾经有一个名为MyPartialEntities的文件夹,里面放置了我想要添加到模型中的所有代码。我从来没有真正成功过自动更新,所以我通常会删除edmx并在数据库修改后重新创建模型。 - Alain BUFERNE

2

没有自动刷新EDMX(如果微软能在某个时候实现这一点就太好了),刷新EDMX的最佳和最准确的方法是删除图表中的所有表,然后在模型浏览器中删除所有复杂类型等。之后,在图表上右键单击,然后单击“从数据库更新模型”以重新生成EDMX...

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


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