首页 > 解决方案 > 如果我编辑一个 EDMX 文件,它是否会更改除了它本身和它的设计器文件之外的任何文件?

问题描述

我进行了更改并将其撤消到我的 edmx 文件中,但从那以后它就不再起作用了。想知道是否在后台更改了另一个需要刷新的文件?

标签: asp.net-mvcentity-frameworkmodeledmx

解决方案


.edmx 文件包含模型映射元数据,该元数据在构建时作为资源复制到您的程序集中,并且在设计时基于 .edmx 文件生成了几个其他项目文件。DbContext 类型和所有 Entity 类型定义作为源代码文件从 .edmx 文件生成,Visual Studio 在对 .edmx 进行任何更改后重新生成它们。

如果您在 Visual Studio 之外更改 .edmx 文件,或者可能只从源存储库中恢复 .edmx 文件,则您生成的其他文件可能不同步。

设计时生成由 Visual Studio 的自定义工具功能驱动。因此,您应该能够右键单击 .edmx 并从上下文菜单中选择“运行自定义工具”,然后在解决方案资源管理器中对嵌套在 .edmx 下的任何 .tt 文件执行相同操作以重新生成所有源代码文件。

而且,作为最后的手段,如果您在 .edmx 中没有大量自定义,您可以简单地删除它并从数据库中重新生成它。


推荐阅读