У меня есть Tag
сущность в EF6, которая имеет отношение один ко многим с 3 другими сущностями:
Tag
/ | \
Definition Variant Machine
Tag
{
Id : 1,
Name : New York,
Definition
{
Id : 1,
Title: EquipA
},
Definition
{
Id : 2,
Title: EquipB
},
Variant
{
Id : 1,
Name: EquipA11
},
Variant
{
Id : 2,
Name: EquipB11
},
Machine
{
Id : 1,
Plant : New York,
Line : 1A
}
Machine
{
Id : 2,
Plant : New York,
Line : 2B
}
}
Я хочу вернуть сведенные результаты для всех 4 сущностей, чтобы получить результаты например:
Tag.Id, Tag.Name, Tag.Definition.Id, Tag.Definition.Title, Tag.Variant.Id, Tag.Variant.Name, Tag.Machine.Id, Tag.Machine.Plant, Tag.Machine.Line
1, New York, 1, EquipA, 1, EquipA11, 1, New York, 1A
1, New York, 1, EquipA, 1, EquipA11, 2, New York, 2B
1, New York, 1, EquipA, 2, EquipB11, 1, New York, 1A
1, New York, 1, EquipA, 2, EquipB11, 2, New York, 2B
1, New York, 2, EquipB, 1, EquipA11, 1, New York, 1A
1, New York, 2, EquipB, 1, EquipA11, 2, New York, 2B
1, New York, 2, EquipB, 2, EquipB11, 1, New York, 1A
1, New York, 2, EquipB, 2, EquipB11, 2, New York, 2B
Я могу это сделать, но могу получить только определения, не зная, как выбрать из всех 4 сущностей:
var temp = db.Tags.Include(c => c.Definition)
.Include(v => v.Variant)
.Include(p => p.PaperMachine)
.SelectMany(t => t.Definition)
.Select(t => new { t.Id, t.Title } )
//.SelectMany(c => c.Definition, v => v.Variant, )
//.SelectMany(v => v.)
.ToList();