2009-12-13 8 views
13

Ich benutze Compact Framework 3.5 und haben vorläufig auf eine benutzerdefinierte Build von Subsonic 3.0 für den Datenzugriff festgelegt. Das Problem ist, dass ich daran gewöhnt bin, zuerst das Modell zu entwickeln, aber auch daran interessiert bin, die Kontrolle über mein DB-Schema zu behalten. Daher scheint weder ActiveRecord noch das Repository meine Anforderungen zu erfüllen, und ich möchte mein vorhandenes POCO-Modell verwenden und es meinen vorhandenen Tabellen zuordnen. Ich bin das gewohnt über NHibernate und Entity Framework.Subsonic benutzerdefinierte Zuordnung von Objekten zu Tabellen

Nach einigen Untersuchungen scheint es mir möglich zu sein, ein benutzerdefiniertes QueryMapping zu erstellen, um mir die benutzerdefinierte Zuordnung zu geben, die ich möchte. Bevor ich jedoch diesen Weg beschreite, möchte ich ein Beispiel dafür sehen. Ich kann anscheinend keine im Internet finden und frage mich, ob irgendjemand etwas über Erfahrung mit Subsonic, Model-first und ein benutzerdefiniertes Table-per-Type- und Table-per-Hierarchy-Mapping geben könnte.

Antwort

1

Ab SubSonic 3.0.x:

Wenn Sie POCOs verwenden möchten, Sie wollen sehr viel das Repository - das SimpleRepository im Besonderen. SubSonic unterstützt nur ein Tabelle-pro-Typ-Modell. SubSonic unterstützt keine Vererbung. Wenn Sie es wollen, müssen Sie es kodieren; Das ist jedoch nicht erreichbar, wenn Sie motiviert sind, es anzugehen.

Das SimpleRepository bietet jedoch ein respektables Maß an Kontrolle über das Schema - selbst wenn (Auto) Migrationen (die ich für POCO zuerst süchtig halte). Achten Sie darauf, die gute Dokumentation auf der Projektseite zu überprüfen, insbesondere http://www.subsonicproject.com/docs/Using_SimpleRepository. Achten Sie auf die Verwendung des Attributs. Neue Attribute können einfach erstellt und in eine benutzerdefinierte Repository-Serviceklasse integriert werden.

Vielleicht die beste Sache über SubSonic SimpleRepository: es ist sehr einfach zu erweitern. Unser Team hat es ein wenig erweitert (z. B. das Hinzufügen von Euer-Lade-Unterstützung), und insgesamt finden wir es alle sehr angenehm zu hacken. Es hat ein sehr angenehmes Design, ist schnell, leicht und macht nicht auf sich aufmerksam.

Das Beste von allem, SimpleRepository + Migrations ermutigen ein vernünftiges Schema-Design. Wenn Sie mit SubSonic kämpfen, müssen Sie sich selbst überprüfen; Wahrscheinlicher als nicht, steuern Sie Ihr Boot in das Unkraut.

Wenn Sie mehr Datenbank-Version Feuerkraft benötigen, kombinieren Sie es mit migrator.net für einen einfachen Gewinn.

Viel Glück und willkommen bei SubSonic!