Я думаю, что этот запрос будет работать, хотя я заранее извиняюсь, если мой синтаксис немного искажен, я больше VB, чем C # ...
var query = from p in db.Products
select new { p.ProductId,
p.ProductType,
p.Name,
p.Number,
p.Package,
p.Model,
p.Size,
p.Material,
p.MantoLengh,
p.Pics.Where(x => x.IsDefault).Select(x => x.PicAddress).ToList(),
p.Colors.Select(x => x.ColorHex).ToList() };
В принципе, в выбранном вами типе анонимной вы можете использовать лямбдуполучить коллекции «один ко многим», используя Select (). ToList (), и использовать .Where () для выполнения фильтрации.
Надеюсь, что это поможет.
РЕДАКТИРОВАТЬ - В ответ на вашикомментарий:
Я выбрал шестнадцатеричные цветовые строки, потому что они выглядели как лучшая ставка для создания реальных цветов.Чтобы получить цвет от Hex, см. эту статью .Где в списке вы хотите добавить цвета?