У меня есть баннер с несколькими пакетами. Каждый пакет имеет несколько файлов.EntityFramework. SelectMany с анонимным типом и проекцией
У меня есть следующий запрос:
List<BannerModel> models = context.Banners
.Select(x => x.Packs
.SelectMany(p => p.Files, (p, f) => new {
Id = p.Id,
Flag = p.Flag,
File = new { Id = f.Id, Flag = f.Flag, Key = f.Key, Mime = f.Mime }
})
.Where(a => a.File.Flag == "Img_200")
.Select(a => new BannerModel { PackId = a.Id, ImageKey = a.File.Key })
).ToList();
1) я получаю ошибку "ToList()". Не может неявно преобразовать тип 'System.Collections.Generic.List>' на 'System.Collections.Generic.List'
2) Затем я удалил ToList и добавил "вар модели = ..."
Я знаю, что есть 10 записей, где 5 из них удовлетворяют критериям:
.Where(a => a.File.Flag == "Img_200")
что странно, что я получаю 10 пунктов, 5 с данными и 5 без каких-либо данных.
Где я должен получить только список из 5 предметов. Тот, который удовлетворяет критериям.
Может ли кто-нибудь помочь мне решить эту проблему?
Спасибо, Miguel
Спасибо. Теперь он работает нормально. –