我修改了EF代码优先策略,经过多年成为数据库优先的人,我不得不承认,我喜欢它。我自己做了一个小测试数据库,我喜欢EF自动生成脚本来更新我的架构的方式。
因此,我已经玩了一个小的控制台应用程序,我现在正在连接到ASP.NET MVC UI。但现在事情出了问题。因为我没有对我的架构进行任何更改,但是第一次尝试运行由我的UI启动的db查询时,出于某种原因,EF正在尝试重新生成我的架构;此外,它做错了并且失败了,因为它试图修改具有依赖关系的字段。我可以在我的SQL Server Profiler中看到所有这些。
这非常奇怪。当我从旧的控制台应用程序运行查询时,一切正常。当我从我的ASP.NET项目运行它们时,它会尝试修改我的架构。我通过在global.asax.cs
Application_Start
中编写查询来消除了用户界面干扰的可能性,但仍然会进行迁移。
任何想法我做错了什么? 什么可能导致这种情况?