Попробуйте что-то вроде этого:
searchModel.Facets.AddRange(
from facet in response.Result.Facets
select new Facet
{
Parent = facet.Title,
Items = new List<Facet>(
from element in facet.Subelements
select new Facet
{
Title = element.Title,
TotalResults = element.TotalResults
}),
});
РЕДАКТИРОВАТЬ: лямбда-версия для запроса в комментарии.
searchModel.Facets.AddRange(
response.Result.Facets.Select(
facet => new Facet
{
Parent = facet.Title,
Items = new List<Facet>(
facet.Subelements.Select(
element => new Facet
{
Title = element.Title,
TotalResults = element.TotalResults
})),
}));
Почти так же, как с LINQ.Это то, что вы были после?