0

我有以下查询:

baseQuery = Buildings.Where(
     i => i.Apartment != null 
     && i.Apartment.Manager != null 
     && i.Apartment.Manager.Name == Username);

我想我得到了错误,因为我在这里执行三个单独的查询,所以这个操作会非常慢。有什么办法可以优化此检查?

编辑:我从 resharper 得到“IEnumerable 的可能多重枚举”。

4

1 回答 1

2

假设它ContextProvider.Context.Inspections是 aDbSet或 an IQueryable,这不会导致 IEnumerable 的多个枚举。该表达式将被翻译成 SQL 查询并在服务器上执行。您可以通过在您的行之后放置一个断点来检查这一点,然后将鼠标悬停在上面baseQuery以查看生成的 SQL。

看起来像是来自 resharper 的误报。

于 2013-02-16T17:12:54.347 回答