/// <summary> /// Visits the custom composite user type. /// </summary> /// <remarks> /// Apply any column prefixes specified /// </remarks> /// <param name="model">The model.</param> public override void VisitCompositeUserType(CompositeUserTypeModel model) { if (model.Attribute.ColumnNames != null) { for (int index = 0; index < model.Attribute.ColumnNames.Length; ++index) { // Add column prefix model.Attribute.ColumnNames[index] = columnPrefix + model.Attribute.ColumnNames[index]; } } base.VisitCompositeUserType(model); }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <remarks> /// Apply any column prefixes specified /// </remarks> /// <param name="model">The model.</param> public override void VisitCompositeUserType(CompositeUserTypeModel model) { if (model.Attribute.ColumnNames != null) { for (int index = 0; index < model.Attribute.ColumnNames.Length; ++index) { // Add column prefix model.Attribute.ColumnNames[index] = columnPrefix + model.Attribute.ColumnNames[index]; } } base.VisitCompositeUserType(model); }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <param name="model">The model.</param> public override void VisitCompositeUserType(CompositeUserTypeModel model) { CompositeUserTypeAttribute attribute = model.Attribute; BeginWriteProperty(attribute.AccessString, MakeTypeName(attribute.CompositeType), null, attribute.Insert, model.Property.Name, model.Property.PropertyType, attribute.Update); Ident(); for (int i = 0; i < attribute.ColumnNames.Length; i++) { WriteColumn(null, attribute.ColumnNames[i], null, attribute.Length[i], false, null, false, null, null); } Dedent(); EndWriteProperty(); }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <param name="model">The model.</param> public virtual void VisitCompositeUserType(CompositeUserTypeModel model) { }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <param name="model">The model.</param> public override void VisitCompositeUserType(CompositeUserTypeModel model) { /*WriteProperty(model.Property.Name, model.Property.PropertyType, att.AccessString, att.ColumnType, att.Insert, att.Update, att.Formula, att.Column, att.Length, att.NotNull, att.Unique, att.UniqueKey, att.SqlType, att.Index, att.Check);*/ CompositeUserTypeAttribute attribute = model.Attribute; BeginWriteProperty(null, MakeTypeName(attribute.CompositeType), null, attribute.Insert, model.Property.Name, model.Property.PropertyType, attribute.Update); Ident(); for (int i = 0; i < attribute.ColumnNames.Length; i++) { WriteColumn(null, attribute.ColumnNames[i], null, attribute.Length[i], false, null, false, null); } Dedent(); EndWriteProperty(); }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <param name="model">The model.</param> public override void VisitCompositeUserType(CompositeUserTypeModel model) { CompositeUserTypeAttribute attribute = model.Attribute; if (attribute.CompositeType == null) throw new ActiveRecordException(string.Format("CompositeType not defined for CompositeUserTypeAttribute on class '{0}', member '{1}'", model.Member.DeclaringType, model.Member.Name)); if (!typeof(ICompositeUserType).IsAssignableFrom(attribute.CompositeType)) throw new ActiveRecordException(string.Format("The type '{0}' does not implement ICompositeUserType for CompositeUserTypeAttribute on class '{1}', member '{2}'", attribute.CompositeType, model.Member.DeclaringType, model.Member.Name)); if (attribute.ColumnNames == null) throw new ActiveRecordException(string.Format("ColumnNames not defined for CompositeUserTypeAttribute on class '{0}', member '{1}'", model.Member.DeclaringType, model.Member.Name)); if (attribute.Length == null) throw new ActiveRecordException(string.Format("Length not defined for CompositeUserTypeAttribute on class '{0}', member '{1}'", model.Member.DeclaringType, model.Member.Name)); if (attribute.Length.Length != attribute.ColumnNames.Length) throw new ActiveRecordException(string.Format("Length and ColumnNames lengths do not match for CompositeUserTypeAttribute on class '{0}', member '{1}'", model.Member.DeclaringType, model.Member.Name)); BeginWriteProperty(attribute.AccessString, MakeTypeName(attribute.CompositeType), attribute.Insert, model.Member.Name, model.MemberType, attribute.Update, attribute.OptimisticLock, false); Ident(); for (int i = 0; i < attribute.ColumnNames.Length; i++) { WriteColumn(null, attribute.ColumnNames[i], null, attribute.Length[i], false, null, false, null, null); } Dedent(); EndWriteProperty(); }
/// <summary> /// Visits the custom composite user type. /// </summary> /// <param name="model">The model.</param> public virtual void VisitCompositeUserType(CompositeUserTypeModel model) { }