【发布时间】:2011-12-06 00:38:10
【问题描述】:
如果我将模型中的实体关系声明为虚拟,则无需在我的 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);,并且在访问时我会自动获得相关实体。
我的理解正确吗?
另外,请告诉我在什么情况下我应该更喜欢其中一种?
【问题讨论】: