Я использую функциональность Fluent NHibernate для автоматизации/условных обозначений для привязки моих объектов к таблицам базы данных. У меня есть этот абстрактный класс, который каждый объект домена в моем приложении производный себя от:Автоматически генерировать Созданная дата в Fluent NHibernate Automapping
public abstract class Entity
{
public virtual int Id { get; protected internal set; }
public virtual DateTime Created { get; set; }
}
Как я могу изменить мой Fluent конфигурации, так что Created
свойства имеет это значение автоматически устанавливается на значение DateTime.Now
при сохранении записи в базе данных.
Вот мой Fluent конфигурация для справки:
private FluentNHibernate.Cfg.FluentConfiguration GetConfiguration()
{
return Fluently
.Configure()
.Database(() =>
{
return MsSqlConfiguration.MsSql2012.ConnectionString(x => x.FromConnectionStringWithKey("main"));
}
)
.Mappings(
x =>
{
var persistenceModel = new PersistenceModel() { ValidationEnabled = false };
x.UsePersistenceModel(persistenceModel)
.AutoMappings.Add(
AutoMap.AssemblyOf<Entity>().Where(Exceptions.Load)
.Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never())
.Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultCascade.SaveUpdate())
.Conventions.Add(new FluentNHibernate.Conventions.Helpers.Builders.JoinConventionBuilder().Always(a => a.Fetch.Join()))
);
}
)
.ExposeConfiguration(BuildSchema);
}
Awesome, спасибо! – adaam