我在 ASP.NET MVC 操作方法中有以下简单查询。
IEnumerable<Company> query = unitOfWork.CompanyRepository.dbSet
.Include("Adresses.PhoneNumbers")
.Include("Adresses.FaxNumber")
.Include("Emails").Where(q => q.CustomerCompany == true);
此操作方法通过 ajax get 请求调用,有时需要长达 25 秒!数据库中只有 40 家公司。每个公司都有一个地址,最多有几个电话号码和传真号码。(有趣的是,有时需要 200-500 毫秒,但非常罕见)
如果我将此查询更改为以下
IEnumerable<Company> query = unitOfWork.CompanyRepository.dbSet
.Where(q => q.CustomerCompany == true);
它只需要大约 200 毫秒。
所以我想知道为什么.Include
这么贵。我的应用程序正在生产中,我正在将 SQL Azure 与 Azure 网站一起使用。
谢谢。