У меня есть абстрактный тип с именем Product и пять «Типов», которые наследуются от Product в виде таблицы по иерархии типов, как показано ниже:
Я хочу получить всю информацию для всех Продуктов, включая совокупность свойств различных объектов, которые наследуются от продуктов, для проецирования их в новый класс для использования на веб-странице MVC. Мой запрос linq ниже:
//Return the required products
var model = from p in Product.Products
where p.archive == false && ((Prod_ID == 0) || (p.ID == Prod_ID))
select new SearchViewModel
{
ID = p.ID,
lend_name = p.Lender.lend_name,
pDes_rate = p.pDes_rate,
pDes_details = p.pDes_details,
pDes_totTerm = p.pDes_totTerm,
pDes_APR = p.pDes_APR,
pDes_revDesc = p.pDes_revDesc,
pMax_desc = p.pMax_desc,
dDipNeeded = p.dDipNeeded,
dAppNeeded = p.dAppNeeded,
CalcFields = new DAL.SearchCalcFields
{
pDes_type = p.pDes_type,
pDes_rate = p.pDes_rate,
pTFi_fixedRate = p.pTFi_fixedRate
}
}
У меня проблема с доступом к p.pTFi_fixedRate , это не возвращается с коллекцией сущностей Products, как в супер типе Fixed. Как мне вернуть «супер» тип свойств Products (Fixed), используя Linq и Entity Framework. Мне действительно нужно вернуть некоторые поля из всех различных супертипов (Disc, Track и т. Д.) Для использования в вычислениях. Должен ли я вернуть их как отдельные запросы Linq, проверяющие тип возвращаемого «продукта»?