【发布时间】:2017-11-09 19:54:34
【问题描述】:
首先在 C# 代码中使用许多具有零一关系的子类型表!
public class MemberContractRelation
{
[Key]
public long Id { get; set; }
public long ContractId { get; set; }
public long MemberId { get; set; }
public long ListPrice { get; set; }
public decimal TaxCountryToPay { get; set; }
public decimal TaxProvinceToPay { get; set; }
public long InsuredCode { get; set; }
}
public class FamilyMemberContractSubtype : MemberContractRelation
{
public long CalculatedCheckupPrice { get; set; }
}
我想通过此代码获取带有子类型相关记录(如左连接)的父表(MemberContractRelation)列表:
var familyMemberContractSubtype = _rep.FamilyMemberContractSubtype.Where(a => a.Id == ContractId).Select(x => new
FamilyMemberInformationsBag
{
BirthDate = x.Member.BirthDate,
FirstName = x.Member.FirstName,
LastName = x.Member.LastName,
NationalID = x.Member.NationalCode,
PhoneNumber = x.Member.IranPhoneNumber,
Price = x.ListPrice,
ChekUpPrice = x.CalculatedCheckupPrice,
TotalPrice = x.ListPrice + x.CalculatedCheckupPrice + x.TaxProvinceToPay + x.TaxCountryToPay,
TaxProvinceToPay = x.TaxProvinceToPay,
TaxCountryToPay = x.TaxCountryToPay
}).ToList();
但它只返回具有子类型的记录,而不返回 MemberContractRelation 中的其他记录! 我想获取具有子类型的 MemberContractRelation 列表,如果它没有记录在子类型中,则返回子类型中属性的 Null 值!
请记住,除了上述解决方案之外,我不能为我的项目使用任何其他解决方案!
【问题讨论】:
-
这听起来像 TPT EF 继承模式,对吗?
-
是的,类似的,但我不知道 TPT 的详细信息
标签: c# sql entity-framework linq code-first