Если я объявил связь с сущностью в моей модели как виртуальной, тогда нет необходимости использовать оператор 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 brandsAndProduct = pe.Brands.Include("Products").Single(brand => brand.BrandID == 22);
.
Вместо этого я могу просто использовать простой var brandsAndProduct = pe.Brands.Where(brand => brand.BrandID == 22);
, и я буду автоматически иметь связанный объект, доступный при доступе.
Правильно ли я в своем понимании?
Кроме того, скажите, пожалуйста, в каких ситуациях я должен предпочесть один за другим?