我有三个表作为父/子/孙子加入。
我正在尝试获取一个Linq查询,该查询显示父表中的记录和孙表的集合。我不想显示子表,因为它只是一个包含三个ID的jonction表。
我到目前为止所做的是
data = {
result: [
{
id: '001',
name: 'Caio B'
country: 'brazil',
},
{
id: '002',
name: 'Gustavo H',
country: 'brazil',
},
],
}
它有点工作。我对结果不满意,因为父元素(角色中的r)包含一个子元素集合(RolesResources),每个元素都包含一个资源条目。
我真正需要的是角色中的r有一组资源,跳过中间表。
这甚至可能吗?如果是的话,我错过了什么?
答案 0 :(得分:1)
是的,完全可以使用匿名对象或帮助程序类。假设您需要在当前方法之外使用此方法,我将在课堂上进行演示。
public class RolesViewModel
{
public Role Role { get; set; }
public List<Resource> Resources { get; set; }
}
var list = ctx.Roles
.Select(r => new RolesViewModel
{
Role = r,
Resources = r.RolesResources.Select(rr => rr.Resources).ToList()
})
.ToList();