我正在尝试根据查询结果是否包含字符串“baby”来过滤查询结果。
IEnumerable<ICD.ViewModels.HomeSearchViewModel> query =
ICDUnitOfWork.AlphaGroups.Find().GroupJoin(ICDUnitOfWork.Alphas.Find(),
a => a.AlphaGroupID,
g => g.AlphaGroupID,
(alphaGroups, alphas) =>
new ICD.ViewModels.
HomeSearchViewModel
{
AlphaGroups =
alphaGroups,
Alphas = alphas
})
.Where(row =>
row.AlphaGroups.Title.Contains("baby")
|| row.Alphas.Any(alpha => alpha.Title.Contains("baby"))
);
问题是当 Alpha.Title 包含字符串“baby”时,它应该只显示包含“baby”的 Alpha,而不是 AlphaGroup 中的每个 alpha。如果 AlphaGroup.Title 包含“婴儿”,它应该继续显示组中的每个 alpha。我怎样才能做到这一点?