2
我有Section
類有ContentItem
s列表。 ContentItem
有許多子類,如TextContentItem
,ImageContentItem
等。所有這些子類都映射到數據庫(使用類和子類映射)。如何根據確切的子類加載類?
我需要找回Section
實例與人口確切的子類的實例ContentItem
的能力。
我有Section
類有ContentItem
s列表。 ContentItem
有許多子類,如TextContentItem
,ImageContentItem
等。所有這些子類都映射到數據庫(使用類和子類映射)。如何根據確切的子類加載類?
我需要找回Section
實例與人口確切的子類的實例ContentItem
的能力。
使用IEnumerable<T>
擴展方法OfType<T>
過濾收集:
var filter = section.ContentItems.OfType<TextContentItem>();
如果你的收藏是非常大的,你要避免加載所有內容項,那麼我會填充數據傳輸對象(DTO )由Section類和所需內容項的集合組成。我不會建議部分加載域模型中的集合。