我有一个linq查询问题。 我的模特;
public class Product : Entity
{
public virtual Brand Brand { get; set; }
public virtual ICollection<Category> Categories { get; set; }
//etc...
public virtual ICollection<ProductProductShowcase> ProductProductShowcases { get; set;}
}
public class ProductShowcase : ContextContainer<ProductShowcaseContext>
{
public virtual ICollection<ProductProductShowcase> ProductProductShowcases { get; set; }
}
public class ProductProductShowcase : Entity
{
public int ProductShowcaseId { get; set; }
public int ProductId { get; set; }
public virtual ProductShowcase ProductShowcase { get; set; }
public virtual Product Product { get; set; }
}
我想选择具有相关产品的ProductShowcase
个实体。我试过了;
ProductShowcase productShowcase = RepositoryHelper.DataContext.ProductShowcases.Include(i => i.Contexts).Include(o => o.ProductProductShowcases).Where(o => o.Id == Id).SingleOrDefault();
在查询结果productShowcase.ProductProductShowcases
中,ProductId
属性具有预期值,但Product
属性为null。
提前致谢。
答案 0 :(得分:1)
您的Product
属性被标记为虚拟,因此将使用延迟加载。如果您希望在初始查询中填充它,可以使用Include(o => o.Product)
(您已在ProductProductShowcases
属性上使用Include。)