이 문제를 올바르게 해결하는 방법을 잘 모르겠습니다.Entity Framework TPH 상속 코드 첫 번째 형식
나는 Appointment
클래스를 가지고 있으며 에서 상속 된 클래스 AppointmentSeries
을 가지고 있습니다.
데이터베이스가 코드 첫 번째로 TPH로 설정되었습니다.
이제 데이타베이스를 얻을 때, 없이 Appointment
유형의 모든 행을 가져 오려고합니다.
OfType<Appointment>()
을 사용해 보았지만이 역시 AppointmentSeries
이됩니다.
올바른 동작을 얻기 위해 추상 클래스를 사용해야한다는 것을 알았지 만 추상 클래스를 구현하지 않으므로 Appointment
과 AppointmentSeries
에 동일한 속성을 구현해야합니다. 아니면해야합니까?
다른 해결책은 모든 쿼리에 .where(a => !(a is AppointmentSeries))
을 추가하는 것입니다. 그러나 이것은 추한 것이며 전체 데이터베이스를 얻은 다음 일부 행을 제외시킵니다.
약속이나 구조를 얻는 더 좋은 방법은 OfType<Appointments>()
입니까?
모든 최고의
Canere
"약속을 지키지 않고 약속하기"는 그들이 상속을 시작하기에 좋은 후보자가 아님을 의미합니다. 현재 귀하의 AppointmentSeries는 an__ Appointment입니다. –