2

sのリストを持つSectionクラスがありますContentItem。、 などのContentItemサブクラスが多数あります。それらはすべてデータベースにマップされます (クラスとサブクラスのマップを使用)。TextContentItemImageContentItem

の正確なサブクラス インスタンスSectionが入力されたインスタンスを取得する機能が必要です。ContentItem

4

1 に答える 1

1

IEnumerable<T>拡張メソッドを使用しOfType<T>てコレクションをフィルタリングします。

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

コレクションが非常に大きく、すべてのコンテンツ アイテムをロードすることを避けたい場合は、Section クラスと目的のコンテンツ アイテムのコレクションで構成されるデータ転送オブジェクト (DTO) を設定します。コレクションをドメイン モデルに部分的にロードすることはお勧めしません。

于 2013-03-05T16:06:46.453 に答える