我有 3 个具有以下关系的对象: Feature 包含 FeatureGroup 对象的 List<>。FeatureGroup 包含一个 Application 对象作为属性。
我想创建一个字典,允许为给定功能检索应用程序名称列表(应用程序共享功能,我想查看哪些应用程序支持哪些功能)。
这是一段可以正常工作的代码:
Dictionary(Feature, List(string)) AppLookup = this.DataContext().Features .Select(x => 新 { 特征 = x, AppNames = x.FeatureGroups .Select(y => y.Application.ApplicationShortName) 。清楚的() .ToList() }) .ToDictionary(x => x.Feature, x => x.AppNames); var appsFound = viewModel.AppLookup .Where(x => x.Value.Count > 0) .ToList(); //这包含27这是正确的值
这是我想对其进行编码的原始方式,但除非我取消注释 2 Expand() 行,否则它似乎不起作用:
Dictionary(Feature, List(string)) AppLookup = this.DataContext().Features //.Expand("FeatureGroups") //.Expand("功能组/应用程序") .ToDictionary(x => x, x => x.FeatureGroups .Select(y => y.Application.ApplicationShortName) 。清楚的() .ToList()); var appsFound = viewModel.AppLookup .Where(x => x.Value.Count > 0) .ToList(); //这是 0 除非上面的 .Expand 行没有注释