Код: Выделить всё
public class Mammal
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Dog : Mammal
{
public int TailId { get; set; }
public Tail Tail { get; set; }
}
public class Bat : Mammal
{
public int WingId { get; set; }
public Wing Wing { get; set; }
}
public class Buffalo : Mammal
{
public virtual ICollection Horns { get; set; }
}
public class Tail
{
public int Id { get; set; }
...
}
public class Wing
{
public int Id { get; set; }
...
}
public class Horn
{
public int Id { get; set; }
...
}
< /code>
Теперь мой контекст: < /p>
public class MyContext : DbContext
{
public DbSet Mammals { get; set; }
}
< /code>
Итак, я хочу сделать только один запрос SQL и включить (и загрузить) все вложенные объекты, что -то вроде: < /p>
var query = myContext.Mammals
.IncludeIfTypeIs(d => d.Tail)
.IncludeIfTypeIs(b => b.Wing)
.IncludeIfTypeIs(b => b.Horns)
...
...
;
Я не хочу использовать отложенную загрузку, поскольку при этом также будет выполняться множество запросов к базе данных.
Как этого добиться?
Подробнее здесь: https://stackoverflow.com/questions/340 ... ntity-type
Мобильная версия