Domanda

qualcuno conosce un modo in cui ho potuto impostare la mappatura attraverso il valore predefinito di una colonna in modo per esempio quando ho generare DB da mappature avrei DateTime colonna avendo getdate () come valore di default?

ho provato finora questo (sembra exactlly come quello che ho bisogno) ma non funziona

this.Map(x => x.LastPersistedOn, "DateModified") 
    .Access.Property() 
    .Default("getdate()"); 
È stato utile?

Soluzione

Ho appena provato a installare alcuni valori di default e ha funzionato come previsto. Sto usando perfetto come recuperare dal Git del 24.05.2010 così aggiornare la vostra copia potrebbe risolvere il problema.
Mapping

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

Con

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

questo produrrà il seguente SQL (da uscita alla console)

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

-
Dom

Altri suggerimenti

Il modo per farlo è quello di assegnare la corrente DateTime nel codice anziché utilizzare il valore predefinito nel database. Poi trattarlo come una colonna normale. Sembrava un po 'strano per me in un primo momento provenienti da un disegno di sfondo model-driven, ma la gestione di valori di default a livello POCO è il modo DDD per farlo.

Sarebbe bello sentire le opinioni altrui troppo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top