2013-03-05 5 views
2

J'ai la classe Section qui a la liste de ContentItem s. ContentItem a un certain nombre de sous-classes comme TextContentItem, ImageContentItem, etc Tous sont mappés à la base de données (en utilisant la classe et sous-classe Maps).Comment charger une classe basée sur des sous-classes exactes?

je dois avoir une capacité de récupérer Section par exemple avec les peuplées instances de sous-classe exacte de ContentItem.

Répondre

1

Utilisez la méthode d'extension IEnumerable<T>OfType<T> pour filtrer la collection:

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

Si votre collection est très grand et que vous voulez éviter de charger tous les éléments de contenu, alors je remplir un objet de transfert de données (DTO) composé de la classe Section et d'une collection des éléments de contenu souhaités. Je ne conseillerais pas de charger partiellement la collection dans le modèle de domaine.

Questions connexes