Виртуальные свойства Entity Framework 4.1

Если я объявил связь сущностей в моей модели как виртуальную, тогда нет необходимости использовать оператор Include в моем запросе LINQ, верно ?? -

Например: Это мой класс модели:

public class Brand
{
    public int BrandID { get; set; }
    public string BrandName { get; set; }
    public string BrandDesc { get; set; }
    public string BrandUrl { get; set; }

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

Теперь для указанного выше класса модели мне не нужно использовать var brandAndProduct = pe.Brands.Include ("Products"). Single (brand = > brand.BrandID == 22); .

Вместо этого я могу просто использовать простой var brandsAndProduct = pe.Brands.Where (brand => brand.BrandID == 22); , и я автоматически получу доступ к связанной сущности при доступе.

Правильно ли я понимаю?

Также скажите, в каких ситуациях я должен предпочесть одно другому ??

52
задан Nick N. 8 December 2015 в 02:01
поделиться