我有这样的结构
class Lesson {
List<Sign> signs { get; set; }
}
class Sign {
List<Media> media { get; set;}
}
class Media {
}
现在我正在使用这个LINQ来获取所有课程
var items = (from lesson in this.db.Lesson.Include("Sign")
where lesson.module_id == param
select lesson);
它工作正常但是标志列表有安培媒体列表。我的意思是每个对象media
中的属性Sign
等于null。我需要做什么才能为每个Sign包含媒体对象?整个数据保存在数据库中
答案 0 :(得分:5)
您使用db.Lesson.Include("signs.media")
。
ObjectQuery<T>.Include
的参数是属性 path ,而不仅仅是单个根属性。请注意,对于“signs.media”,您不需要另外包含“标志”:
路径包罗万象。例如,如果包含调用表示包含(“Orders.OrderLines”),则不仅包括OrderLines,还包括订单。
(顺便说一句,你应该调整你的属性名称以符合.NET框架约定,所以你最终会得到“Signs.Media”。)