Wenn die Verwendung der Active, Modelle erzeugen jeweils ich die Datenbankstruktur ändern? [geschlossen]

StackOverflow https://stackoverflow.com/questions/4131981

Frage

Wenn es so ist, denke ich, dass es Probleme.

War es hilfreich?

Lösung

Was mehr Mühe, ein Kompilierung-Fehler, weil Sie eine Spalte oder einen Laufzeitfehler „Spalte xyz existiert nicht“ umbenannt.

Wenn Sie die generierten Klassen selbst ändern wollen, und sind besorgt über Ihre Änderungen überschrieben werden. Es gibt drei Möglichkeiten, Änderungen an der generierten DAL zu machen.

  1. sind SubSonic Klassen teilweise.

    Wenn Sie eine andere Klasse im gleichen Namensraum erstellen, können Sie Eigenschaften / Methoden und Überschreibung Mitglieder (von der Basisklasse).

  2. hinzufügen
  3. Ändern Sie die Vorlagen.

    Je nach SubSonic Version (2 oder 3) gibt es verschiedene approches wie die DAL zu erzeugen. Aber sie beide teilen eine ähnliche aspx wie Syntax (2 = custom, 3 = T4 Motor)

  4. Vererben aus den Klassen.

Sie können Ihre eigenen Klassen, die erben von den generierten schaffen. (Ich würde nicht zu tun, legen nahe, dass, wenn Sie SubSonic2 die xyzCollection verwenden möchten.

Update: Die T4 (* .tt) Vorlagen werden nur ausgeführt, wenn Sie die Datei ändern oder rechts eine tt-Datei klicken und „Run Custom Tool“ wählen. Für SubSonic, nach einem Schema geändert haben Sie „Run Anpassungs-Tool“ für jeden tt Datei wählen Sie aktualisieren möchten (ActiveRecord.tt, Structs.tt, etc.). Allerdings T4 ist ein eigenständiges Tool, das leicht in Ihrem Build-Prozess integriert werden kann:

http://broloco.blogspot.com/ 2008/11 / using-t4-command-line-parameters.html

Andere Tipps

Wenn Sie Subsonic verwenden, wird das Modell jedes Mal neu erstellt die Datenbank geändert wird (automatisch, wenn Sie die Build-Anbieter verwenden oder manuell, wenn Sie Subsonic.exe verwenden Klassen zu erzeugen).

Was ist das Problem mit der Tatsache, dass das Modell regeneriert wird?

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