Frage

das Problem

Ich versuche, einen großen Tisch (200 + Felder) um ~ 7 Entitäten mit der Tabellenspaltung gemäß Meine vorherige Frage .

ef6 erfordert Navigationsprogramme nicht nur vom primären Modell an die untergeordneten Modelle, jedoch zwischen allen untergeordneten Modellen (der saugt).

manuelle Lösung

Dies kann manuell erfolgen:

generasacodicetagpre.

mit fließenden Zuordnungen:

generasacodicetagpre.

das funktioniert. Es wird jedoch nicht gut mit 7+ Modellen ergriffen werden.

Versuch, # 1 zu verbessern, # 1

Ich würde gerne durch Erbschaft + trockenes Prinzip verbessern:

generasacodicetagpre.

Dies scheitert jedoch auf der ersten Anforderung mit "Sequenz enthält mehr als ein übereinstimmendes Element":

generasacodicetagpre.

versuchen, # 2

zu verbessern

Ich dachte, ich könnte sie abstrakt erklären, so dass zumindest die Programmierer dazu gezwungen sind, die richtigen Mitglieder umzusetzen (immer noch saugt, um auf jeder abgeleiteten Klasse neu zu deklarieren):

generasacodicetagpre.

Dies fehl, wenn derselbe Fehler nicht angezeigt wird. Huh ?? Die Klassendefinitionen sind identisch als Arbeitskopie, mit der Ausnahme, dass sie anstelle von "virtuell" deklariert werden. Es ist, als ob e / f auf EigenschaftenInfos oder etwas ohne Rücksicht auf die PropertyInfo.refleType

indexiert wird

Versuch, # 3 zu verbessern,

Ich könnte das Muster mithilfe einer Schnittstelle durchsetzen, dies ist jedoch weniger bevorzugt, da die Schnittstelle in jeder Klasse deklariert werden muss, die anfängt, ziemlich komisch auszusehen:

generasacodicetagpre.

huh?

ist dies ein Fehler in e / f, der es kämpft, Eigenschaften auf der Basisklasse identisch mit denen auf den abgeleiteten Klassen zu behandeln?

Entschuldigung für die langwindelte Erklärung ist die Zusammenfassung der gesamten Untersuchung dieses Morgens.

War es hilfreich?

Lösung

Am Ende habe ich beschlossen, die manuelle Lösung anzunehmen, da ich keine Verbesserungsversuche bekomme, um zu arbeiten.

Der Code & -Modelle ist nicht elegant, aber am Ende des Tages führt es ok aus.Ich habe das Muster in 3 Gebieten implementiert und leistet nach Bedarf in der Domäne und in der SQL-Ebene aus.

Um den Schmerz zu erleichtern und Entwickler mit einem konsistenten Weg zur Arbeit mit diesem Muster bereitzustellen, erstellte ich diese Schnittstelle, um alle Beziehungen durchzusetzen:

generasacodicetagpre.

Jede der Modelle, die den Primärschlüssel teilen, verfügen über diese Eigenschaften (das ärgerliche Bit):

generasacodicetagpre.

und konfigurieren Sie über fließende API wie folgt (das schmerzhafte Bit):

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top