먼저 C# 코드에서 0 번째 관계가있는 많은 하위 유형 테이블 사용!LINQ의 모든 하위 유형이 포함 된 상위 하위 유형 목록 가져 오기
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 값을 반환합니다.
기억 나는 위의 솔루션을 제외하고는 내 프로젝트에서 다른 솔루션을 사용할 수 없다는 것을 기억하십시오! 하지 캐스트 : 운영자 as
(중요한을 사용하여 다음
// instead of _rep.FamilyMemberContractSubtype
// assuming _rep is DbContext
_rep.Set<MemberContractRelation>()
과 :
이 TPT EF 상속 패턴처럼 들린다는 것이 맞습니까? –
예, 그렇습니다.하지만 TPT 세부 정보는 정확히 모릅니다. – Mohammad