Я использую приложение MVC. Это моя модель.
public class Fruit
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Colors> ColorsList { get; set; }
}
public class Colors
{
public string ColorId { get; set; }
public string ColorName { get; set; }
public string ColorDescription { get; set; }
}
И мой запрос в Linq:
var lstfruits = db.Fruits.Select(c => new Fruit {Id=c.Id, Name = c.Name, Description = c.Description });
foreach (var fruit in lstfruits)
{
var lstColor = new List<Colors>();
lstColor = db.Color.Where(f => f.FruitId == fruit.Id)
.Select(f => new Colors {ColorId=f.Id.ToString(), ColorName = f.Name, ColorDescription = f.Description })
.ToList();
fruit.ColorsList = lstColor;
}
return lstfruits;
При отладке lstColor
не является нулем после запроса, но lstfruits
всегда имеет значение ColorsList = null
для всех элементов. Чего мне не хватает?
Я знаю, что мои запросы работают нормально, потому что я получаю ожидаемые значения от обоих запросов при отладке. Проблема заключается в назначении его на fruits.ColorsList
внутри цикла for.