如果我编辑 EDMX 文件,它是否会更改除自身及其设计器文件之外的任何文件?

If I edit an EDMX file, does it make changes to any files besides itself and it's designer file?

我进行了更改并将其撤消到我的 edmx 文件中,但此后效果不一样。想知道是否有另一个文件在幕后被更改需要刷新?

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

如果您在 visual studio 之外更改 .edmx 文件,或者可能仅从您的源存储库恢复 .edmx 文件,您生成的其他文件可能会不同步。

设计时生成由 Visual Studio 的 Custom Tool 功能驱动。因此,您应该能够从上下文菜单中右键单击 .edmx 和 select "run custom tool",然后对解决方案资源管理器中嵌套在 .edmx 下的任何 .tt 文件执行相同的操作以重新生成所有源代码文件。

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