如果我在我的模型中声明实体关系为虚拟,则不需要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; }
}
Run Code Online (Sandbox Code Playgroud)
现在,对于上面的模型类,我不需要使用var brandsAndProduct = pe.Brands.Include("Products").Single(brand => brand.BrandID == 22);.
相反,我可以使用简单的var brandsAndProduct = pe.Brands.Where(brand => brand.BrandID == 22);,我将在访问时自动使相关实体可用.
我的理解是正确的吗?
另外,请告诉我在什么情况下我应该更喜欢一个?