我有Section
类,其中包含ContentItem
个列表。 ContentItem
有许多子类,如TextContentItem
,ImageContentItem
等。所有子类都映射到数据库(使用类和子类映射)。
我需要能够使用Section
的填充确切子类实例检索ContentItem
实例。
答案 0 :(得分:1)
使用IEnumerable<T>
扩展名方法OfType<T>
过滤集合:
var filter = section.ContentItems.OfType<TextContentItem>();
如果您的集合非常大并且您想避免加载所有内容项,那么我将填充由Section类和所需内容项的集合组成的数据传输对象(DTO)。我不建议在域模型中部分加载集合。