如何基于确切的子类加载类?

时间:2013-03-05 14:00:50

标签: nhibernate fluent-nhibernate

我有Section类,其中包含ContentItem个列表。 ContentItem有许多子类,如TextContentItemImageContentItem等。所有子类都映射到数据库(使用类和子类映射)。

我需要能够使用Section的填充确切子类实例检索ContentItem实例。

1 个答案:

答案 0 :(得分:1)

使用IEnumerable<T>扩展名方法OfType<T>过滤集合:

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

如果您的集合非常大并且您想避免加载所有内容项,那么我将填充由Section类和所需内容项的集合组成的数据传输对象(DTO)。我不建议在域模型中部分加载集合。