Entity Framework Code First Lazy Загрузка

У меня два предметных класса

public class User
{
    public Guid Id { get; set; }
    public string Name { get; set; }

    // Navigation
    public ICollection<Product> Products { get; set; }
}

public class Product
{
    public Guid Id { get; set; }

    // Navigation
    public User User { get; set; }
    public Guid User_Id { get; set; }

    public string Name { get; set; }
}

Когда я загружаю пользователя, используя dataContext, я получаю список продуктов, который является нулевым (это нормально).

Если я добавлю «виртуальный» ключевое слово к списку товаров,

public virtual ICollection<Product> Products { get; set; }

когда я загружаю пользователя, я также получаю список продуктов.

Почему это происходит? Я думал, что это "виртуальный" Ключевое слово используется для того, чтобы не загружать объекты, если вы не укажете это явно (с помощью оператора & quot; Включить & quot;)

Я думаю, я все понял неправильно

Ответы на вопрос(2)

Ваш ответ на вопрос