Frage

Gerade erst begonnen NHiberate Lernen. Es scheint ziemlich langweilig richtige hbm.xml Konfigurationsdateien für jede Datenbanktabelle zu schreiben.

Die Frage ist, kann NHibernate in Tabellen lesen und automatisch Beziehungen abrufen und benötigte Konfigurationsdatei sowie Datenbank Zuordnerklassen für Sie? Es scheint, dass der Programmierer noch viel Bodenarbeit zunächst zu tun hat. Dann stieß ich auf Codesmith, welche Vorlagen für NHiberate bekam? Ist es die Lücke füllen?

War es hilfreich?

Lösung

Sie können Code-Vorlagen verwenden, aber das schafft noch einen Schmerz IMHO. Der beste Weg ist, um Fluent nHibernate zu verwenden. Sie haben eine neue Auto-Mapper-Funktion, die die Konfiguration von Konvention verwendet. Keine Mapping-Dateien, macht es nur Annahmen, die Sie Ähnliche Namen verwenden und können Regeln definieren, wie eine Entität Namen zu einem Tabellennamen zu konvertieren.

Andere Tipps

Code-Erzeugung kann diese Lücke füllt wirklich gut, ich begann mit Codesmith, aber dann machten sie, dass ein Pay-Artikel, damit ich zu bewegt MyGeneration . Mein Ansatz ist es, die DB ersten, Code gen den Mapping-Dateien und gen Klassen angreifen, wenn sie nicht bereits vorhanden ist. Das wird etwas los wirklich schnell, ideal für einen Prototyp und Erstellung von Testdaten.

Die Mapping-Dateien, Klassen und DB werden oft dann von Hand geändert. In einigen Fällen habe ich versucht, den Code Generation immer als Teil von CI zu arbeiten - aber es ist erwiesen, schwer, das zu tun, es sei denn, Sie diszipliniert sind, wo Sie Sie Änderungen sind handgearbeitete Code trennen. Partielle Klassen waren eine Hilfe, aber immer noch ein prob das gesamte Team auf der gleichen Seite zu bekommen, niemand mag durch ein Werkzeug, ihren Code überschrieben haben, auch wenn Sie dann ein Rollback und zusammenführen.

ich für Codesmith arbeiten ... Beachten Sie bitte, dass MyGeneration nicht in immer aktualisiert worden, was bedeutet, es fehlt auch unterstützen. Codesmith unterstützt seine Produkte und Vorlagen. Dies bedeutet, dass alle Template-Fehler werden auch von Codesmith festgelegt und überprüft werden.

Danke

-Blake Niemyjski

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