我想知道在使用EF Code First进行第一次查询时是否可能加快速度。
我已经创建了一个包含2个字段的实体的小型测试程序,第一次查询需要2.2秒,而第二个查询(完全相同)只需要0.006秒。
我已经预编译了视图,所以这里无法帮助。我认为问题在于构建内存中的模型需要一些时间,但是它应该需要那么长时间吗?是否有一种方法可以像视图那样预编译此模型?
我想知道在使用EF Code First进行第一次查询时是否可能加快速度。
我已经创建了一个包含2个字段的实体的小型测试程序,第一次查询需要2.2秒,而第二个查询(完全相同)只需要0.006秒。
我已经预编译了视图,所以这里无法帮助。我认为问题在于构建内存中的模型需要一些时间,但是它应该需要那么长时间吗?是否有一种方法可以像视图那样预编译此模型?
它涉及使用Entity Framework Power Tools中的优化实体数据模型选项来生成一个预编译的.Views类文件。
当你进行第一次查询时,EF会初始化自己,这需要一些时间。我认为在加快EF的基础设施初始化方面没有太多可以做的,但是如果你真正在寻求的是加快你进行的第一个查询而不是EF本身的初始化,那么你可以尝试强制EF在运行你的第一个查询之前进行初始化。
using (var db = new MyContext())
{
db.Database.Initialize(force: true);
}