Frage

kennt jemand eine Möglichkeit, wie ich den Standardwert einer Spalte Mapping gesetzt durch könnte so für z.B. wenn I erzeugen DB von Mappings würde ich DATETIME- Säule mit GETDATE () als Default-Wert?

Ich habe versucht, so weit dieses (Aussehen exactlly wie das, was ich brauche), aber es funktioniert nicht

this.Map(x => x.LastPersistedOn, "DateModified") 
    .Access.Property() 
    .Default("getdate()"); 
War es hilfreich?

Lösung

Ich habe gerade versucht, einige Standardwerte gesetzt und es hat funktioniert wie erwartet. Ich bin mit Fluent als von Git abrufen der 24.05.2010 um Ihre Kopie zu aktualisieren kann Ihr Problem lösen.
Mapping

public class SampleEntity
{
    public virtual DateTime DateTimeProperty { get; set; }
}

Mit

 public class SampleEntityMap
        : ClassMap<SampleEntity>
{
   public SampleEntityMap()
   {
    Map(x => x.DateTimeProperty, "DateTimeColumn")
             .Access.Property()  //actually not necessary 
             .Not.Nullable()
             .Default("getDate()");
   }
}

das wird die folgende SQL (von Ausgabe an die Konsole)

produzieren
create table SampleEntity(
   DateTimeColumn DATETIME default  getDate()  not null
  )

-
Dom

Andere Tipps

Die Art und Weise, dies zu tun ist, um die aktuelle Datetime in Code zuweisen, anstatt Standardwert in der Datenbank. Dann behandeln sie wie eine normale Spalte. Scheint mir ein wenig seltsam auf dem ersten von einem modellgetriebenen Designhintergrund kommen, aber die Standardwerte an der POCO Ebene der Verwaltung ist der DDD Weg, es zu tun.

Wäre gut für andere Meinungen zu hören zu

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