/// <summary> /// Applies the column name based on type. /// </summary> /// <param name="instance">The instance.</param> public void Apply(IPropertyInstance instance) { var columnName = instance.GetColumnAttribute(); if (!instance.Property.DeclaringType.IsNHibernateComponent()) { if (instance.Property.PropertyType.IsEnum || instance.Property.PropertyType.IsNullableEnum()) { columnName = GetColumnNameForEnum(instance.Property.Name).ToPascalCase(); // instance.Column ( columnName ); } if (columnName.IsNullOrEmpty()) { columnName = instance.Name; } var fieldName = instance.Property.MemberInfo.GetAttribute <FieldAttribute>(); if (fieldName != null) { columnName = fieldName.Name; } else { columnName = columnName.ToPascalCaseWithUndescore(); //NamingHelper.ToUppercase(columnName); } columnName = columnName.ToLower(); instance.Column(columnName); } }