EF 6.0.1,code first,有两个表(父子关系)。我使用这个模型在WebAPI中查询数据,并将数据(约3KB)以JSON格式返回给网站(我还测试了最简单的“.FirstOrDefault()”查询——这里没有任何区别)。第一次访问WebAPI很慢(约10秒)。这与网站的启动无关,因为网站已经预热了。我通过ADO实现了相同的查询,第一次访问大约需要1秒钟。随后的请求显示Entity Framework惩罚明显减少(使用EF约为190ms,而使用ADO约为170ms)。我用本地SQL Server和Azure SQL进行了测试,结果类似。我对本地数据库进行了分析:没有什么特别的事情发生,所有的请求持续时间都是0。Entity Framework会生成其他查询来检查迁移,但这些查询非常精简。看着剖析输出,我注意到所有的数据库操作似乎都在大约一秒钟内发生,而整个EF初始化过程却花费了10秒钟。为什么?我已经在这里发现了一些提示,比如使用Release Mode并打开“Generate serialization”,但效果不是很好。在开始实施明显的解决方法之前(早期初始化EF或只是放弃EF),我希望还有其他要注意的问题。