在Linq中选择多对多关系中的数据
我有一个linq查询问题。 我的模型在Linq中选择多对多关系中的数据,linq,poco,Linq,Poco,我有一个linq查询问题。 我的模型 public class Product : Entity { public virtual Brand Brand { get; set; } public virtual ICollection<Category> Categories { get; set; } //etc... public virtual ICollection<ProductProductShowcase> Product
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.ProductProductShowcases
的ProductId
属性具有预期值,但Product
属性为空
提前感谢。您的
产品
属性已标记为虚拟,因此将使用延迟加载。如果要在初始查询中填充它,可以使用Include(o=>o.Product)
(您已经在ProductShowcases
属性中使用了Include。)是,但问题是productShowcase.ProductShowcases集合中的产品对象为空。所以我需要包括productsHwCase.Product,但我不知道怎么做。
ProductShowcase productShowcase = RepositoryHelper.DataContext.ProductShowcases.Include(i => i.Contexts).Include(o => o.ProductProductShowcases).Where(o => o.Id == Id).SingleOrDefault();