Сущность Framework 4.3 - полиморфный запрос с нетерпением загрузки

StackOverflow https://stackoverflow.com//questions/9712838

Вопрос

У меня есть модель, которая выглядит что-то подобное:

public abstract class Parent
{
    public int Id { get; set; }
}

public class Child11 : Parent
{}

public class Child2 : Parent
{
    public virtual Dependency Dependency { get; set; }
}

public class Dependency
{
    public int Id { get; set; }
    public virtual ICollection<Child2> Children { get; set; }
}
.

Я пытаюсь выяснить, кто написал запрос LINQ, который загружает все родители и нетерпеливые нагрузки зависимости от всех детей.Это даже возможно?Я пробовал каждое сочетание заявлений LINQ, я могу подумать, и не имел успеха.

Это было полезно?

Решение

Если вам нужно загрузить только Child2, вы можете использовать:

var child2 = context.Parents
                    .OfType<Child2>()
                    .Include(c => c.Dependency)
                    .ToList();
.

Если вам также нужно загрузить все остальные производные типы, вам скорее всего, нужно будет использовать второй запрос или попытаться сделать какой-то союз.Полиморфные запросы в EF не очень хорошо работают с нетерпением загрузки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top