簡體   English   中英

在EF6中加載相關實體

[英]Loading related entities in EF6

我有3個彼此相關的表:

Product有很多SuggestedPrices

Product有許多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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM