检查子对象/孙对象时可能对IEnumerable进行多重枚举
本文关键字:对象 IEnumerable 枚举 孙对象 检查 | 更新日期: 2023-09-27 17:59:54
我有以下查询:
baseQuery = Buildings.Where(
i => i.Apartment != null
&& i.Apartment.Manager != null
&& i.Apartment.Manager.Name == Username);
我想我得到这个错误是因为我在这里执行三个单独的查询,所以这个操作会非常慢。有什么方法可以优化这个检查吗?
编辑:我得到了"IEnumerable的可能多重枚举"从重拍。
假设ContextProvider.Context.Inspections
是DbSet
或IQueryable
,这不会导致对IEnumerable进行多次枚举。该表达式将被转换为SQL查询,并在服务器上执行。您可以通过在您的行后面放置一个断点来检查这一点,并将鼠标悬停在baseQuery
上以查看生成的SQL。
看起来像是重新打磨的假阳性。