List<IStoreItem> StoreItems = new List<IStoreItem>();
StoreItems = repository.ProductToCatMaps.Where(x => CatList.Contains(x.ExCatID))
.Select(x => x.ProductShell ?? x.PCBuild);
エンティティ クラス:
public class ProductShell : IStoreItem
{
}
public class PCBuild : IStoreItem
{
}
ProductToCatMaps テーブルには、それぞれのストア アイテムの外部カテゴリ ID が含まれています。ここでは、ProductShell と PCBuild の 2 つのストア アイテム タイプがあります。どちらがnullに設定されているかに応じてどちらかを選択したいのですが、選択する必要がある値(データベース内のそれぞれのタイプエントリへの外部キー)を含むことができるのは1つだけです。