Первая ленивая загрузка кода Entity Framework

У меня есть два класса объектов

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; }

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

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

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

30
задан abatishchev 13 July 2012 в 11:21
поделиться