2013-03-05 36 views
2

我有Section類有ContentItem s列表。 ContentItem有許多子類,如TextContentItem,ImageContentItem等。所有這些子類都映射到數據庫(使用類和子類映射)。如何根據確切的子類加載類?

我需要找回Section實例與人口確切的子類的實例ContentItem的能力。

回答

1

使用IEnumerable<T>擴展方法OfType<T>過濾收集:

var filter = section.ContentItems.OfType<TextContentItem>(); 

如果你的收藏是非常大的,你要避免加載所有內容項,那麼我會填充數據傳輸對象(DTO )由Section類和所需內容項的集合組成。我不會建議部分加載域模型中的集合。