我正在尝试在我的控制器的“详细信息”操作中访问我的主模型集合的集合。但我不断收到以下错误
System.InvalidOperationException:'属性表达式'e => {来自[e]中的颜色.Colors选择[颜色] .Images}'无效。表达式应代表属性访问:'t => t.MyProperty”。有关包含相关数据的详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=746393。'
这会突然显示:
var model = _context.Towers
.Include(e => e.Colors.Select(color => color.Images))
.FirstOrDefault(e => e.ID == id);
以下是其他一些代码:
Tower.cs
public class Tower
{
[Key]
public Nullable<int> ID { get; set; }
public List<Color> Colors { get; set; } = new List<Color>();
}
Color.cs
public class Color
{
[Key]
public Nullable<int> ID { get; set; }
public string ColorHash { get; set; }
public List<Image> Images { get; set; } = new List<Image>();
}
Image.cs
public class Image
{
[Key]
public Nullable<int> ID { get; set; }
public string ImagePath { get; set; }
}
我需要能够访问与关联的每个 颜色 相关联的 图像 Tower 我正在显示详细信息。
答案 0 :(得分:3)
我认为它应该是这样的:
var model = _context.Towers
.Include(e => e.Colors)
.ThenInclude(color => color.Images))
.FirstOrDefault(e => e.ID == id);