public class ParentMap : ClassMap<Parent> { public ParentMap() { Table("parent_def"); Id(x => x.Id,"parent_id"); Map(x => x.UID, "parent_uid").CustomSqlType("varchar").Length(40); Map(x => x.DeletedAt ,"dte_deleted").Nullable(); Map(x => x.ModifiedAt, "dte_modified").Nullable(); Map(x => x.CreatedAt, "dte_created").Nullable(); Map(x => x.AutoUpdate, "auto_update").CustomSqlType("bit"); HasMany(x => x.ParentVersions) .KeyColumn("parent_id") .Inverse() .Cascade.All(); } } public class ParentVersionMap : ClassMap<ParentVersion> { public ParentVersionMap() { Table("parent_version"); ReadOnly(); Id(x => x.Id ,"parent_version_id"); Version(x => x.Version) .Column("parent_version") .Generated.Never(); Map(x => x.ParentHash ,"parent_hash") .CustomSqlType("varchar") .Length(40); Map(x => x.DateCreated ,"dte_created"); Map(x => x.UpdateAvailable, "update_available"); References(x => x.Parent, "parent_id") .ForeignKey("parent_id"); } }
--
You received this message because you are subscribed to the Google Groups "nhusers" group.
To post to this group, send email to nhu...@googlegroups.com.
To unsubscribe from this group, send email to nhusers+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/nhusers?hl=.
public bool OnPreInsert(PreInsertEvent @event) { var entity = @event.Entity as ParentVersion; if (entity == null) { return false; } var currentMaxVersion = @event.Session.CreateCriteria<ParentVersion>("pv") .Add(Restrictions.Eq("pv.Parent.Id", entity.Parent.Id)) .SetProjection(Projections.Max("pv.Version")) .UniqueResult<int>(); Set(@event.Persister, @event.State, "ParentVersion", currentMaxVersion + 1); return false; }