protected override void OnBeforeMapClass(IModelInspector modelInspector, Type type, IClassAttributesMapper classCustomizer) { classCustomizer.DynamicInsert(DynamicInsert); classCustomizer.DynamicUpdate(DynamicUpdate); classCustomizer.Table(GetTableName(modelInspector, type)); classCustomizer.Id( m => { m.Column(GetKeyColumnName(modelInspector, type, false)); m.Generator(Generators.HighLow); }); if (modelInspector.IsTablePerClassHierarchy(type)) { classCustomizer.Discriminator(m => m.Column(GetDiscriminatorColumnName(modelInspector, type))); classCustomizer.DiscriminatorValue(GetDiscriminatorValue(modelInspector, type)); } MemberInfo[] versionProperties = VersionProperties(modelInspector, type).ToArray(); if (versionProperties.Length == 1) { classCustomizer.Version(versionProperties[0], m => m.Column(GetVersionColumnName(modelInspector, type))); } }