Ich denke, es gibt einen ähnlichen Beitrag hier darüber, aber nicht genau das gleiche ...Entity Framework - Vererbung mit .Include?
Ich habe zwei Einheiten in meinem EF-Modell - nennen wir sie Person und Entwickler, wobei letzterer von ersteren erbt.
Ich habe auch eine Assoziation auf Entwickler namens Qualifikationen. Dies ist in der Entität Person nicht sichtbar.
Wenn ich eine Abfrage gegen den Kontext schreibe, wie ich automatisch.() Die Qualifikationen des Entwicklers z.
von Mitarbeitern in context.Employee .INCLUDE („Qualifikationen“) wählen Mitarbeiter
funktioniert nicht ... EF beklagt, dass die Beziehung existiert nicht (ich nehme an, weil es nicht existiert auf Employee - aber es gibt keine Developer-Entität im Kontext, nur Employee).
Hi ... Es sollte nicht versuchen, in den untergeordneten Entitäten für die Basisklasse zu laden, da sie nicht vorhanden sind. Ich mache das Casting, um die Kindeigenschaften usw. zu überprüfen - aber der Hauptpunkt des Includes ist es, alles auf einmal zu lesen (bedenken Sie, dass EF kein Lazy Loading unterstützt). –
Ich denke, ich würde geneigt sein, Person nicht unterzuordnen, sondern eine andere Klasse namens Developer, die eine Person hat, auf diese Weise können Sie wahrscheinlich eine Sammlung von Person abrufen und durch Zuordnung in der Lage sein, diejenigen abrufen, die von einem Entwickler referenziert werden Von diesem Developer-Objekt können diejenigen mit Qualifikationen gefunden werden. Ich bin mir wirklich nicht sicher, ob es möglich ist, das zu tun, was Sie mit der von Ihnen angegebenen Klassenhierarchie tun wollen. – Lazarus