在 EF6 中加载相关实体

胡曼

我有 3 个相互关联的表:

Product 有很多 SuggestedPrices

Product 有很多 ProductPricing

所以我想像这样检索建议价格:

await ctx.SuggestedPrices
    .OrderByDescending(pp => pp.SuggestionDate)
    .Include(p1 => p1.Customer)
    .Include(p2 => p2.Product)
    .Include(p3 => p3.Product.ProductPricing)
    .ToListAsync()

根据您的要求:我添加了以下内容:

产品类别:

public class Product : ReportingBase {
    // Product-ProductPricing -> One Product has many Prices
    public virtual ICollection<ProductPricing> ProductPricing { get; set; }
    // Product-SuggestedPrices
    public virtual ICollection<SuggestedPrice> SuggestedPrices { get; set; }
}

产品定价类:

public class ProductPricing {
    // ProductPricings-Product
    public virtual Product Product { get; set; }
    public int ProductId { get; set; }
}

建议价格等级:

public class SuggestedPrice : EntityBase {
    // SuggestedPrices-Product
    public virtual Product Product { get; set; }
    public int ProductId { get; set; }

    // SuggestedPrices-Customer
    public virtual ApplicationUser Customer { get; set; }
    public string CustomerId { get; set; }
}

但是当我添加行时,.Include(p3 => p3.Product.ProductPricing)我收到一条错误消息:

对参考导航属性使用虚线路径,对集合导航属性使用 Select 运算符

我如何摆脱这个错误?

感谢您的回答

胡曼

经过一番努力,我发现没有必要包含Product.ProductPricing它,它已经存在了:

OrgPrice = p.Product.ProductPricing.FirstOrDefault().OrgPrice,
PriceAfterDiscount = p.Product.ProductPricing.FirstOrDefault().Price

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

EF6不会延迟加载导航属性

来自分类Dev

删除实体导致验证错误EF6

来自分类Dev

删除与EF6有多对多关系的实体记录

来自分类Dev

使用EF6和LINQ深度加载数据

来自分类Dev

WebApi的EF6合并实体

来自分类Dev

实体类型没有定义键EF6

来自分类Dev

EF6加载相关集合成员的属性

来自分类Dev

获取POCO实体的EF6代理

来自分类Dev

检查“延迟加载”属性是否已在EF6中加载

来自分类Dev

MVC EF6显示与用户相关的图像

来自分类Dev

如何结合使用“ AsNoTracking”方法在EF Core中加载实体和显式加载相关实体

来自分类Dev

EF6包括实体中集合的引用

来自分类Dev

EF6渴望加载相关实体的单个属性

来自分类Dev

如何在EF中加载相关对象?

来自分类Dev

EF6实体的通用克隆

来自分类Dev

无法使用EF6和MYSQL生成实体

来自分类Dev

EF6不会延迟加载导航属性

来自分类Dev

实体框架急于在EF4和EF6中加载差异

来自分类Dev

删除与EF6有多对多关系的实体记录

来自分类Dev

启用EF6 LazyLoadingEnabled,但加载相关对象

来自分类Dev

无法添加实体数据模型(EF6)

来自分类Dev

使用Linq返回EF6中的相关实体

来自分类Dev

在EF6中更新实体会产生主键异常

来自分类Dev

获取POCO实体的EF6代理

来自分类Dev

阻止在EF6中为特定实体生成表

来自分类Dev

EF6忽略相关数据

来自分类Dev

EF6渴望在POCO内加载

来自分类Dev

EF6 延迟加载:添加时加载整个集合?

来自分类Dev

更新 EF6 中的实体子集合