private static void MapManyToOne(IModelInspector modelinspector, PropertyPath member, IManyToOneMapper manyToOne) { var columnName = member.LocalMember.GetPropertyOrFieldType().Name + "Id"; manyToOne.Column(columnName); string foreignKey = string.Format("FK_{0}__{1}__{2}", member.LocalMember.ReflectedType.Name, member.LocalMember.Name, columnName); manyToOne.ForeignKey(foreignKey); manyToOne.Cascade(Cascade.Persist); manyToOne.NotNullable(true); }
protected override void OnBeforeMapManyToOne(IModelInspector modelInspector, PropertyPath member, IManyToOneMapper propertyCustomizer) { string foreignKeyColumnName = GetKeyColumnName(modelInspector, member); propertyCustomizer.Column(foreignKeyColumnName); propertyCustomizer.ForeignKey(string.Format("FK_{0}_{1}", member.Owner().Name, foreignKeyColumnName)); bool required = member.LocalMember .GetCustomAttributes() .OfType <RequiredAttribute>() .Any(); propertyCustomizer.NotNullable(required); }
/// <summary> /// Applies any conventions required for many-to-one properties. /// </summary> /// <param name="mapper"> The mapper. </param> /// <param name="property"> The property. </param> /// <param name="propertyType"> </param> /// <param name="attributes"> </param> protected virtual void ApplyManyToOneConventions(IManyToOneMapper mapper, PropertyPath property, Type propertyType, IEnumerable <Attribute> attributes) { mapper.NotNullable(!IsNullable(propertyType, attributes)); }
protected override void OnBeforeMapManyToOne(IModelInspector modelInspector, PropertyPath member, IManyToOneMapper propertyCustomizer) { string foreignKeyColumnName = GetKeyColumnName(modelInspector, member); propertyCustomizer.Column(foreignKeyColumnName); propertyCustomizer.ForeignKey(string.Format("FK_{0}_{1}", member.Owner().Name, foreignKeyColumnName)); bool required = member.LocalMember .GetCustomAttributes() .OfType<RequiredAttribute>() .Any(); propertyCustomizer.NotNullable(required); }