我有一个名为Product的抽象类型,它包括五个继承自Product的“类型”,以表格形式按类型层次结构组织如下:
我想获取所有产品的所有信息,包括从继承自产品的不同对象中选取的一些属性,将它们投影到一个新类中,以在MVC网页中使用。我的linq查询如下:
我的问题是访问p.pTFi_fixedRate,它不随实体的产品集合返回,因为它在Fixed超类型中。如何使用Linq和Entity Framework返回产品的“超”类型(Fixed)属性?我需要返回所有不同超类型(Disc、Track等)的一些字段,以便进行计算。我应该将它们作为单独的Linq查询返回,并检查返回的“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,它不随实体的产品集合返回,因为它在Fixed超类型中。如何使用Linq和Entity Framework返回产品的“超”类型(Fixed)属性?我需要返回所有不同超类型(Disc、Track等)的一些字段,以便进行计算。我应该将它们作为单独的Linq查询返回,并检查返回的“Product”的类型吗?