Ich meinte mit "umfangreich" nicht unbedingt "besonders kompliziert" sondern eher "viele Möglichkeiten". Auch gerade wegen der Linq-Syntax.
Vorhin habe ich nochmal schnell die Dokumentationen zum Aurelius und DataModeller durchgeblättert. Das scheint schon sehr leistungsfähig zu sein, ist aber zwangsläufig auch recht
DB-lastig.
Ich meine, man muss sich auch mit den
DB detailliert auseinandersetzen.
Nach meinen Überlegungen hätte ich aus den Klassen einfach vorläufige Tabellen generiert, in denen die Daten abgelegt werden (also keine direkten relationen Beziehungen, Trigger usw).
Man müsste sich also letztlich nur um die Klassen und Interfaces kümmern und die
DB würde als reines (dummes) Datenlager dienen.
Natürlich ist so ein ausgewachsenes ORM deutlich leistungsfähiger.
Allerdings arbeitet man dann ja auch wieder mit Objekten. Würde das Aureliius-Framework klaglos ermöglichen, da Schnittstellen zu implementieren?
Auch möchte ich gern mit generischen Listen arbeiten. Harmoniert das dann?
Und letztlich ist mir wichtig, dass sich die
GUI-Controls selbständig dynamisch die Objekte/Interfaces abrufen können, deren Daten sie binden sollen. Etwa so:
Delphi-Quellcode:
EditFirstName.Interface := IMyPerson;
EditFirstName.PropName := 'FirstName';
//oder auch
EditFirstName.Interface := IMyPlayer;
EditFirstName.PropName := 'Person.FirstName'; // wobei intern auf das Personenobjekt aufgelöst wird
In der Form nutze ich das bei meinen odControls und möchte das gern beibehalten.
Allerdings werden derzeit alle genutzen Datenobjekte dauerhaft im Speicher gehalten, was ich künftig nicht mehr will.
Vermeiden möchte ich, beim Öffnen eines Formulars dutzende Objekte/Interfaces zu erzeugen und die dann an die Formularcontrols zu binden.
Statt dessen weise ich lieber (wie auch jetzt schon) nur das oberste Objekt zu und das Framework kümmert sich darum, alle weiteren Subobjekte/Interfaces zu laden und an die Formularcontrols zu binden.
Ich werde wohl in nächster Zeit mal einige Varianten testen müssen, bin aber an allen Diskussionen zu diesem Bereich weiterhin brennend interessiert.