我有 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 行没有注释