private static void PropertyConvension(IModelInspector modelInspector, PropertyPath propertyPath, IPropertyMapper propertyMapper) { if (modelInspector.IsSet(propertyPath.LocalMember)) { propertyMapper.Access(Accessor.Field); } var type = propertyPath.LocalMember.GetPropertyOrFieldType(); if (!type.IsNullable()) { propertyMapper.NotNullable(true); } var propertyName = propertyPath.LocalMember.Name; if (modelInspector.IsComponent(propertyPath.LocalMember.ReflectedType)) { var entityName = propertyPath.LocalMember.ReflectedType.Name; propertyMapper.Column(IdentityBuilder.BuildColumnName(entityName, propertyName)); } else { propertyMapper.Column(IdentityBuilder.BuildColumnName(propertyName)); } }
private void Name(IPropertyMapper propertyMapper) { propertyMapper.Column("Name"); propertyMapper.Type(NHibernateUtil.String); propertyMapper.Length(100); propertyMapper.NotNullable(false); }
void ApplyPropertyConvention(IModelInspector mi, PropertyPath type, IPropertyMapper map) { if (type.PreviousPath != null) { if (mi.IsComponent(((PropertyInfo)type.PreviousPath.LocalMember).PropertyType)) { map.Column(type.PreviousPath.LocalMember.Name + type.LocalMember.Name); } } if (type.LocalMember.GetCustomAttributes(typeof(UniqueAttribute), false).Any()) { map.Unique(true); } var propertyInfo = type.LocalMember as PropertyInfo; if (propertyInfo != null) { if (propertyInfo.PropertyType == typeof(byte[])) { map.Length(Int32.MaxValue); } return; } var fieldInfo = type.LocalMember as FieldInfo; if (fieldInfo != null && fieldInfo.FieldType == typeof(byte[])) { map.Length(Int32.MaxValue); } }
private void OnBeforeMapProperty(IModelInspector mi, PropertyPath member, IPropertyMapper map) { var type = member.LocalMember.GetPropertyOrFieldType(); if (type == typeof(string)) { if (member.LocalMember.Name == "FileName") { map.Length(255); } else { map.Type <DefaultStringType>(); map.Length(50); } } else if (type == typeof(byte[])) { map.Length(Int32.MaxValue / 2); map.Column(x => x.SqlType("varbinary(max)")); } if (member.LocalMember.Name == "DateCreated") { map.Update(false); } }
public static void DefaultPropertyMapper(IModelInspector modelInspector, PropertyPath path, IPropertyMapper mapper) { if (path.LocalMember.GetPropertyOrFieldType() == typeof(bool)) { mapper.Column(path.ToColumnName() + "Flag"); } }
private void ComponentNamingConvention(IModelInspector modelInspector, PropertyPath member, IPropertyMapper map) { var property = member.LocalMember as PropertyInfo; if (modelInspector.IsComponent(property.DeclaringType)) { map.Column(ComponentColumnNaming(member.PreviousPath.LocalMember, member.LocalMember)); } }
public static void ComponentNamingConvention(IModelInspector modelInspector, PropertyPath member, IPropertyMapper map) { var property = member.LocalMember as PropertyInfo; if (modelInspector.IsComponent(property.DeclaringType)) { map.Column(member.PreviousPath.LocalMember.Name + member.LocalMember.Name); } }
protected void BeforeMapProperty(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { propertyCustomizer.Column(this.GetNormalizedDbName(member.LocalMember.Name)); if (member.LocalMember.GetPropertyOrFieldType().IsEnum == true) { //propertyCustomizer.Type(Activator.CreateInstance(typeof(EnumStringType<>).MakeGenericType(member.LocalMember.GetPropertyOrFieldType())) as IType); propertyCustomizer.Type(Activator.CreateInstance(typeof(EnumType <>).MakeGenericType(member.LocalMember.GetPropertyOrFieldType())) as IType); } }
/// <summary> /// Maps a property according the naming conventions configuration /// </summary> /// <param name="modelInspector">The model inspector</param> /// <param name="property">The property</param> /// <param name="mapper">The property mapper</param> private void MapProperty(IModelInspector modelInspector, PropertyPath property, IPropertyMapper mapper) { var attrib = ReflectionHelper.GetSingleAttributeOrDefault <XTFieldMappingAttribute>(property.LocalMember); if (attrib != null) { if (attrib.Ignore) { return; } } if (MatchOneToOneComponent(property, modelInspector)) { mapper.Column(this.namingEngine.ToComponentColumnName(property.LocalMember, property.PreviousPath.LocalMember)); } else { mapper.Column(this.namingEngine.ToColumnName(property.LocalMember)); } }
private void ApplyPropertyConvention(IModelInspector mi, PropertyPath type, IPropertyMapper map) { if (type.PreviousPath != null) { if (mi.IsComponent(((PropertyInfo)type.PreviousPath.LocalMember).PropertyType)) { map.Column(type.PreviousPath.LocalMember.Name + type.LocalMember.Name); } } if (type.LocalMember.GetCustomAttributes(typeof(UniqueAttribute), false).Any()) { map.Unique(true); } }
void ApplyPropertyConvention(IModelInspector mi, PropertyPath type, IPropertyMapper map) { if (type.PreviousPath != null) { if (mi.IsComponent(((PropertyInfo)type.PreviousPath.LocalMember).PropertyType)) { map.Column(type.PreviousPath.LocalMember.Name + type.LocalMember.Name); } } if (type.LocalMember.DeclaringType != null) { var sagaMetadata = sagaMetaModel.FirstOrDefault(sm => sm.SagaEntityType == type.LocalMember.DeclaringType); if (sagaMetadata != null) { SagaMetadata.CorrelationPropertyMetadata correlationProperty; if (sagaMetadata.TryGetCorrelationProperty(out correlationProperty) && correlationProperty.Name == type.LocalMember.Name) { map.Unique(true); } } } var propertyInfo = type.LocalMember as PropertyInfo; if (propertyInfo != null) { if (propertyInfo.PropertyType == typeof(byte[])) { map.Length(int.MaxValue); } return; } var fieldInfo = type.LocalMember as FieldInfo; if (fieldInfo != null && fieldInfo.FieldType == typeof(byte[])) { map.Length(int.MaxValue); } }
protected override void OnBeforeMapProperty(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { Type reflectedType = member.LocalMember.ReflectedType; if (reflectedType == null) { return; } propertyCustomizer.Column(GetColumnName(modelInspector, member)); bool required = member.LocalMember .GetCustomAttributes() .OfType <RequiredAttribute>() .Any(); // Getting tableType of reflected object Type memberType = member.MemberType(); bool notNullable = required || (memberType != null && memberType.IsPrimitive) || memberType == typeof(DateTime); propertyCustomizer.NotNullable(notNullable); StringLengthAttribute stringLengthAttribute = member.LocalMember .GetCustomAttributes() .OfType <StringLengthAttribute>() .FirstOrDefault(); if (stringLengthAttribute != null) { if (stringLengthAttribute.MaximumLength > 0) { propertyCustomizer.Length(stringLengthAttribute.MaximumLength); } else { propertyCustomizer.Type(NHibernateUtil.StringClob); } } }
/// <summary> /// Maps a property according the naming conventions configuration /// </summary> /// <param name="modelInspector">The model inspector</param> /// <param name="property">The property</param> /// <param name="mapper">The property mapper</param> private void MapProperty(IModelInspector modelInspector, PropertyPath property, IPropertyMapper mapper) { if (MatchOneToOneComponent(property, modelInspector)) { mapper.Column(this.namingEngine.ToComponentColumnName(property.LocalMember, property.PreviousPath.LocalMember)); } else { mapper.Column(this.namingEngine.ToColumnName(property.LocalMember)); } }
private void TryMapComponent(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { if (modelInspector.IsComponent(member.LocalMember.DeclaringType) && !modelInspector.IsPersistentId(member.PreviousPath.LocalMember)) { propertyCustomizer.Column(member.PreviousPath.LocalMember.Name + "_" + member.LocalMember.Name); } }
private void TeamId(IPropertyMapper propertyMapper) { propertyMapper.Column("Team_Id"); propertyMapper.Type(NHibernateUtil.Int32); propertyMapper.NotNullable(false); }
private void EscapeColumnName(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { var columnName = member.ToColumnName(); propertyCustomizer.Column("`" + columnName + "`"); }
private static void PrefixColumnWithComponentPropertyName(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { if (member.PreviousPath == null) return; propertyCustomizer.Column(member.ToColumnName()); }
protected override void OnBeforeMapProperty(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer) { Type reflectedType = member.LocalMember.ReflectedType; if (reflectedType == null) { return; } propertyCustomizer.Column(GetColumnName(modelInspector, member)); bool required = member.LocalMember .GetCustomAttributes() .OfType<RequiredAttribute>() .Any(); // Getting tableType of reflected object Type memberType = member.MemberType(); bool notNullable = required || (memberType != null && memberType.IsPrimitive) || memberType == typeof(DateTime); propertyCustomizer.NotNullable(notNullable); StringLengthAttribute stringLengthAttribute = member.LocalMember .GetCustomAttributes() .OfType<StringLengthAttribute>() .FirstOrDefault(); if (stringLengthAttribute != null) { if (stringLengthAttribute.MaximumLength > 0) { propertyCustomizer.Length(stringLengthAttribute.MaximumLength); } else { propertyCustomizer.Type(NHibernateUtil.StringClob); } } }