この問題を正しく解決する方法がわかりません。エンティティフレームワークTPH継承コード最初の型
私はクラスAppointment
と、Appointment
から継承したクラスAppointmentSeries
を持っています。
私のデータベースはTPHでコードファーストに設定されています。
データベースを取得したら、タイプAppointment
のすべての行をAppointmentSeries
なしで取得したいとします。
OfType<Appointment>()
を使ってみましたが、これもAppointmentSeries
になりました。
私は正しい動作を取得するために、抽象クラスを使用しなければならないことを読んで、私は、私はAppointment
とAppointmentSeries
で同じプロパティを実装する必要がありますので、抽象クラスを実装する必要はありません。または私はする必要がありますか?
他の解決策は、すべてのクエリに.where(a => !(a is AppointmentSeries))
を追加することでした。しかし、これは醜いです、私はデータベース全体を取得し、いくつかの行を除外します。
アポイントだけを取得したり、クラスを構造化したりするより良い方法がありますか?OfType<Appointments>()
を使用できますか?
すべてのベスト
Canere
"AppointmentSeriesを使わないで予約する"というのは、彼らが継承を始めるには良い候補者ではなかったということです。現在、あなたのAppointmentSeries __はan__ Appointmentです。 –