我的同事昨天发布了这个问题:7-second EF startup time even for tiny DbContext。
在将他的代码移到单独的解决方案中以尽可能将其隔离后,我发现包含项目的平台目标对 EF 启动过程的运行时产生了深远的影响。
当以 x64 为目标时,我看到测试用了大约 7 秒来启动第一个 DbContext,并且不到 1 秒来启动第二个 DbContext(与我的同事的发现一致,他也以 x64 为目标)。但是,当我将平台目标切换到 x86 时,第一个 DbContext 启动时间减少了大约 4 秒,降至 3.34633 秒,而第二个 DbContext 花费的时间与 x64 情况相同。
鉴于此,当针对 64 位系统和 32 位系统时,Entity Framework 似乎正在经历一个截然不同的初始化过程。有没有人对引擎盖下发生的事情有任何洞察力来解释这一点?