如果我在我的模型中将实体关系声明为虚拟的,那么在我的LINQ查询中就不需要使用
Include
语句,对吗?例如:这是我的模型类: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);
,当访问时会自动提供相关实体。
我的理解正确吗?
另外,请告诉我何时应该更喜欢其中之一?