使用.Include查询的EF查询比在单独的调用中获取子对象要慢吗?

时间:2017-11-15 11:28:48

标签: c# sql database entity-framework

我发现了一段代码,它从数据库中获取了数千个实体(用于填充缓存)。这些实体有许多连接到它的子对象,这使得查询变成了相当大的东西。

可以做.Include("ChildObject").Include("ChildObject.ChildObjectOfChildObject") ++但是,此代码的作者选择在自己的查询中加载所有这些子对象,然后匹配ID,并填写将这些数据转换为包装器(换句话说,它们最终会像具有您将获得的所有数据的对象一样.Include())

这是否有性能提升?我认为完成的操作是相同的,唯一的区别是连接是在for循环中的C#代码中完成的(当循环遍历所有父实体时)。我一直认为数据库是最快的,并且在进行数据操作时最优化,而且.NET中的部分数据操作会更慢......

0 个答案:

没有答案