Сущность Framework 4.3 - полиморфный запрос с нетерпением загрузки
-
14-12-2019 - |
Вопрос
У меня есть модель, которая выглядит что-то подобное:
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 не очень хорошо работают с нетерпением загрузки.
Не связан с StackOverflow