Ejemplo n.º 1
0
        public CompoundPKMemberGeneratorHelper(IObjectSpace XPObjectSpace)
            : base(XPObjectSpace)
        {
            _dbColumn1 = new DBColumn {
                Name = "DBColumn1", ColumnType = DBColumnType.Int32
            };
            _dbColumn2 = new DBColumn {
                Name = "DBColumn2", ColumnType = DBColumnType.Int32
            };
            var dbColumns = new[] { _dbColumn1, _dbColumn2 };

            DbTable.Columns.AddRange(dbColumns);
            DbTable.PrimaryKey              = new DBPrimaryKey(dbColumns);
            _structPersistentClassInfo      = XPObjectSpace.CreateObject <PersistentClassInfo>();
            _structPersistentClassInfo.Name = "MainTable" + TableMapper.KeyStruct;
            _structPersistentClassInfo.PersistentAssemblyInfo = (PersistentAssemblyInfo)PersistentAssemblyInfo;
            _structPersistentClassInfo.SetDefaultTemplate(TemplateType.Struct);
            ClassGeneratorInfos.Add(_structPersistentClassInfo.Name, new ClassGeneratorInfo(StructPersistentClassInfo, DbTable));
        }
Ejemplo n.º 2
0
        public RefMemberGeneratorHelper(IObjectSpace XPObjectSpace)
            : base(XPObjectSpace)
        {
            var column = new DBColumn("Oid", false, "int", 0, DBColumnType.Int32);

            DbTable.PrimaryKey = new DBPrimaryKey(new[] { column });
            var dbColumn = new DBColumn {
                Name = "DBColumn", ColumnType = DBColumnType.Int32
            };

            DbTable.Columns.Add(dbColumn);
            DbTable.Columns.Add(column);
            var refDbColumn = new DBColumn {
                Name = "refDbColumn", ColumnType = DBColumnType.Int32, IsKey = true
            };

            DbTable.Columns.Add(refDbColumn);
            var primaryKeyTableKeyColumns = new StringCollection {
                "refDbColumn"
            };

            DbTable.ForeignKeys.Add(new DBForeignKey(new List <DBColumn> {
                refDbColumn
            }, _refDbTable.Name, primaryKeyTableKeyColumns));

            var item = new DBColumn("Oid", true, "int", 0, DBColumnType.Int32);

            _refDbTable.Columns.Add(item);
            _refDbTable.PrimaryKey       = new DBPrimaryKey(new[] { item });
            _refPersistentClassInfo      = XPObjectSpace.CreateObject <PersistentClassInfo>();
            _refPersistentClassInfo.Name = RefDbTable.Name;
            PersistentAssemblyInfo.PersistentClassInfos.Add(_refPersistentClassInfo);
            _refPersistentClassInfo.SetDefaultTemplate(TemplateType.Class);


            ClassGeneratorInfos.Add(_refPersistentClassInfo.Name, new ClassGeneratorInfo(_refPersistentClassInfo, RefDbTable));
        }