2009-08-20 7 views
1

Einfache Frage, hoffentlich mit einer einfachen Antwort. Ich hatte den Eindruck, dass ich meine Tabellen erstellen und dann meine POCO-Klassen mithilfe der Map-Dateien den Datenbankobjekten zuordnen sollte. Nachdem einige Tutorials folgen, habe ich diesen Code in meinem Testaufbau:Wenn Sie mit NHibernate arbeiten, sollten Sie Ihre Datenbanktabellen vor Ihren Map-Dateien erstellen?

new SchemaExport(_configuration).Execute(false, true, false, false); 

Which, offensichtlich, die Tabellenstruktur erstellen, wie in den Abbildungen definiert, also bin ich verwirrt.

Antwort

1

Sie benötigen die Zuordnungsdateien für SchemaExport.

Idealerweise schreiben/entwerfen Sie zuerst Ihre Klassen, schreiben Sie anschließend die Mapping-Dateien. Wenn Sie Zuordnungsdateien schreiben, entwerfen Sie die Datenbanktabellen gleichzeitig. SchemaExport erstellt das Schema nur aus den Zuordnungsdateien, in denen normalerweise alle Informationen verfügbar sind.

SchemaExport ist sehr zu empfehlen, auch wenn es in den Dokumenten ein wenig "versteckt" ist.

1

Es ist besser, nur eine Stelle zu ändern, in Ihrem Fall nehmen Sie Änderungen in Ihren Klassen vor und Ihre Datenbank wird automatisch aktualisiert - erwarten Sie etwas Besseres?

Manchmal schreiben Sie neuen Code für die vorhandene Datenbank, daher müssen Sie zuerst die Datenbank erstellen (oder haben) und dann die Zuordnungen manuell vorbereiten.

EDIT: Ich verwende Fluent NHibernate, so kann dies vollautomatisch erfolgen, nicht sicher in verschiedenen Umgebungen.

Verwandte Themen