public List<IPersistentAttributeInfo> Create(Column column, IPersistentMemberInfo owner, DataTypeMapper dataTypeMapper) { var persistentAttributeInfos = new List<IPersistentAttributeInfo>(); if (owner.CodeTemplateInfo.CodeTemplate.TemplateType == TemplateType.XPOneToOnePropertyMember) return persistentAttributeInfos; if (column.InPrimaryKey) { if (owner.Owner.CodeTemplateInfo.CodeTemplate.TemplateType != TemplateType.Struct) { persistentAttributeInfos.Add(GetPersistentKeyAttribute(column)); } } if (!column.Nullable && !column.InPrimaryKey) { persistentAttributeInfos.Add(GetPersistentRuleRequiredFieldAttribute(column)); } if (dataTypeMapper.GetDataType(column) == DBColumnType.String) { persistentAttributeInfos.Add(GetPersistentSizeAttribute(column)); } if (IsSimpleForeignKey(column) || ((IsCompoundPrimaryKey(owner, column) && column.IsForeignKey))) persistentAttributeInfos.Add(GetPersistentAssociationAttribute(column)); // if (owner.Owner.CodeTemplateInfo.CodeTemplate.TemplateType!=TemplateType.Struct) var persistentPersistentAttribute = GetPersistentPersistentAttribute(column.Name); if (IsSimpleForeignKey(column) && IsCompoundForeignKey(column)) persistentPersistentAttribute.MapTo = String.Empty; persistentAttributeInfos.Add(persistentPersistentAttribute); return persistentAttributeInfos; }
IPersistentCoreTypeMemberInfo CreatePersistentCoreTypeMemberInfo(Column column, IPersistentClassInfo owner, TemplateType templateType) { var persistentCoreTypeMemberInfo = _objectSpace.CreateWCObject <IPersistentCoreTypeMemberInfo>(); persistentCoreTypeMemberInfo.Name = column.Name; persistentCoreTypeMemberInfo.DataType = _dataTypeMapper.GetDataType(column); owner.OwnMembers.Add(persistentCoreTypeMemberInfo); persistentCoreTypeMemberInfo.SetDefaultTemplate(templateType); return(persistentCoreTypeMemberInfo); }
public List <IPersistentAttributeInfo> Create(Column column, IPersistentMemberInfo owner, DataTypeMapper dataTypeMapper) { var persistentAttributeInfos = new List <IPersistentAttributeInfo>(); if (owner.CodeTemplateInfo.CodeTemplate.TemplateType == TemplateType.XPOneToOnePropertyMember) { return(persistentAttributeInfos); } if (column.InPrimaryKey) { if (owner.Owner.CodeTemplateInfo.CodeTemplate.TemplateType != TemplateType.Struct) { persistentAttributeInfos.Add(GetPersistentKeyAttribute(column)); } } if (!column.Nullable && !column.InPrimaryKey) { persistentAttributeInfos.Add(GetPersistentRuleRequiredFieldAttribute(column)); } if (dataTypeMapper.GetDataType(column) == DBColumnType.String) { persistentAttributeInfos.Add(GetPersistentSizeAttribute(column)); } if (IsSimpleForeignKey(column) || ((IsCompoundPrimaryKey(owner, column) && column.IsForeignKey))) { persistentAttributeInfos.Add(GetPersistentAssociationAttribute(column)); } // if (owner.Owner.CodeTemplateInfo.CodeTemplate.TemplateType!=TemplateType.Struct) var persistentPersistentAttribute = GetPersistentPersistentAttribute(column.Name); if (IsSimpleForeignKey(column) && IsCompoundForeignKey(column)) { persistentPersistentAttribute.MapTo = String.Empty; } persistentAttributeInfos.Add(persistentPersistentAttribute); return(persistentAttributeInfos); }