кто-либо знает путь, как я мог установить посредством отображения значения по умолчанию столбца так для, например, когда я генерирую DB от отображений, у меня был бы столбец DateTime, имеющий getdate () как значение по умолчанию?
Я попробовал до сих пор это (взгляды точно как то, в чем я нуждаюсь), но это не работает
this.Map(x => x.LastPersistedOn, "DateModified")
.Access.Property()
.Default("getdate()");
Я только что попробовал установить некоторые значения по умолчанию, и это сработало, как ожидалось. Я использую Fluent как retrieve из Git'а 24.05.2010, так что обновление вашей копии может решить вашу проблему.
Mapping
public class SampleEntity
{
public virtual DateTime DateTimeProperty { get; set; }
}
With
public class SampleEntityMap
: ClassMap<SampleEntity>
{
public SampleEntityMap()
{
Map(x => x.DateTimeProperty, "DateTimeColumn")
.Access.Property() //actually not necessary
.Not.Nullable()
.Default("getDate()");
}
}
это даст следующий sql (из вывода в консоль)
create table SampleEntity(
DateTimeColumn DATETIME default getDate() not null
)
--
Dom
Способ сделать это - назначить текущий DateTime в коде, а не использовать значение по умолчанию в базе данных. Тогда относитесь к нему как к обычному столбцу. Сначала это показалось мне немного странным, исходя из опыта проектирования, основанного на модели, но управление значениями по умолчанию на уровне POCO - это способ DDD.
Было бы неплохо услышать и мнение других