簡體   English   中英

包括派生類EF的屬性

[英]include property from derived class EF

case:我有一個公司列表,每個公司包含一個商店和一些其他屬性,如地址,名稱,....商店可以是FruitStore類型或類型VegetableStore(兩者都來自商店)。 如果商店是一個水果店,我想要包含一個對於fruitstore而言唯一的屬性,例如TheBestOrange(它是一個對象)。

如何在我的查詢中包含theBestOrange以及公司的屬性?

我有

companies.Include(s => s.Store)
         .OfType<FruitStore>()
         .Include(a => a.theBestOrange)

但這會將我的返回類型更改為水果商店列表而不是公司列表

我希望自己清楚明白。

我假設您想要在查詢中包含所有商店,而不僅僅是水果商店。 您不能投影到某些對象包含屬性而其他對象不包含的對象列表,因為它們是不同的類型。 所以它必須是一個可以為空的財產。 也許是這樣的(未經測試):

var query = companies.Select(c => new { 
    CompanyProp1 = c.CompanyProp1, 
    CompanyProp2 = c.CompanyProp2, 
    StoreProp1 = c.Store.StoreProp1,
    TheBestOrange = c.Store is FruitStore ? ((FruitStore)c.Store).theBestOrange : null
});

暫無
暫無

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

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