我的同事昨天发布了这个问题:7-second EF startup time even for tiny DbContext.
在将他的代码移动到一个单独的解决方案中以尽可能地隔离它后,我发现包含项目的平台目标对EF启动过程的运行时有重大影响。
当以x64为目标时,我发现测试需要 ~7秒来启动第一个DbContext,而启动第二个DbContext只需要<1秒(与我的同事的发现一致,他也以x64为目标)。然而,当我将平台目标切换为x86时,第一个DbContext的启动时间缩短了约4秒,降至3.34633秒,而第二个DbContext所需的时间与x64情况相同。
鉴于此,似乎Entity Framework在针对64位系统和32位系统时正在经历完全不同的初始化过程。有人能解释一下幕后发生了什么吗?