文字列「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」が含まれている場合、AlphaGroup 内のすべてのアルファではなく、「baby」を含むアルファのみを表示する必要があることです。AlphaGroup.Title に「baby」が含まれている場合は、グループ内の各アルファを引き続き表示する必要があります。どうすればこれを達成できますか?