Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }