![](/img/trans.png)
[英]EF Fluent API: Set property for each entity derived from a base abstract class
[英]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.