IEnumerable项目消失 - 存在于DAL但不存在来电者

Bob*_*orn 4 c# linq ienumerable entity-framework iqueryable

我有一个DAL方法来检索项目.这些项目存在于DAL方法中,但不存在于调用代码中.怎么可能?

来电代码:

IEnumerable<InstallationSummary> installationSummaryList =
InstallationSummaryLogic.GetByServerAppAndGroup(appServer, appWithValidGroup);
Run Code Online (Sandbox Code Playgroud)

显示项目确实存在的DAL方法:

在此输入图像描述

调用代码,不显示任何项目.他们去哪儿了?
(这与此问题顶部显示的行相同.)

在此输入图像描述

DAL方法和调用代码之间唯一的东西是逻辑类,它只是一个传递.为了完整起见,我把它包含在这里:

    public static IEnumerable<InstallationSummary> GetByServerAppAndGroup(ApplicationServer appServer, ApplicationWithOverrideVariableGroup appWithGroup)
    {
        return DataAccessFactory.GetDataInterface<IInstallationSummaryData>().GetByServerAppAndGroup(appServer, appWithGroup);
    }
Run Code Online (Sandbox Code Playgroud)

编辑 - 显示整个DAL方法

public IEnumerable<InstallationSummary> GetByServerAppAndGroup(ApplicationServer appServer, ApplicationWithOverrideVariableGroup appWithGroup)
{
    IQueryable<InstallationSummary> summaries = this.Database.InstallationSummaries
        .Include(x => x.ApplicationServer)
        .Include(x => x.ApplicationWithOverrideVariableGroup.Application)
        .Include(x => x.ApplicationWithOverrideVariableGroup.CustomVariableGroup)
        .Where(x => x.ApplicationServer.IdForEf == appServer.IdForEf)
        .Where(x => x.ApplicationWithOverrideVariableGroup.Application.IdForEf == appWithGroup.Application.IdForEf);

    if (appWithGroup.CustomVariableGroup == null)
    {
        return summaries.Where(x => x.ApplicationWithOverrideVariableGroup.CustomVariableGroup == null);
    }

    return summaries
        .Where(x =>
        x.ApplicationWithOverrideVariableGroup != null &&
        x.ApplicationWithOverrideVariableGroup.CustomVariableGroup != null &&
        x.ApplicationWithOverrideVariableGroup.CustomVariableGroup.IdForEf == appWithGroup.CustomVariableGroup.IdForEf);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

您的GetByServerAppAndGroup方法summaries使用Where调用过滤(我们无法看到它的真实含义 - 如果您剪切并粘贴方法本身会很有用).我的猜测是,内部结果都没有summaries通过Where调用中的过滤器.