public ClassGeneratorHelper(IObjectSpace XPObjectSpace) { _persistentAssemblyInfo = XPObjectSpace.CreateObject <PersistentAssemblyInfo>(); _persistentAssemblyInfo.Name = "PersistentAssemblyInfo"; _persistentClassInfo = XPObjectSpace.CreateObject <PersistentClassInfo>(); _persistentClassInfo.Name = "MainTable"; _persistentAssemblyInfo.PersistentClassInfos.Add(_persistentClassInfo); _persistentClassInfo.SetDefaultTemplate(TemplateType.Class); _classGeneratorInfos = new Dictionary <string, ClassGeneratorInfo>(); var classGeneratorInfo = new ClassGeneratorInfo(PersistentClassInfo, DbTable); _classGeneratorInfos.Add(PersistentClassInfo.Name, classGeneratorInfo); }
static void createClass() { var persistentClassInfo = new PersistentClassInfo(UnitOfWork) { PersistentAssemblyInfo = _persistentAssemblyInfo, CodeTemplateInfo = new CodeTemplateInfo(UnitOfWork) }; var codeTemplate = new CodeTemplate(UnitOfWork) { TemplateType = TemplateType.Class, CodeDomProvider = CodeDomProvider.VB }; codeTemplate.SetDefaults(); persistentClassInfo.CodeTemplateInfo.TemplateInfo = codeTemplate; }
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)); }
public override void Update() { var unitOfWork = new UnitOfWork(Session.DataLayer); if (unitOfWork.FindObject <PersistentAssemblyInfo>(null) != null) { return; } var persistentAssemblyInfo = new PersistentAssemblyInfo(unitOfWork) { Name = "TestAssembly" }; var persistentClassInfo = new PersistentClassInfo(unitOfWork) { PersistentAssemblyInfo = persistentAssemblyInfo }; persistentAssemblyInfo.PersistentClassInfos.Add(persistentClassInfo); persistentClassInfo.SetDefaultTemplate(TemplateType.Class); persistentClassInfo.Name = "TestClassInfo"; persistentClassInfo.BaseType = typeof(Customer); persistentClassInfo.MergedObjectType = typeof(Customer); persistentClassInfo.TypeAttributes.Add(new PersistentDefaultClassOptionsAttribute(unitOfWork)); persistentClassInfo.TypeAttributes.Add(new PersistentMapInheritanceAttribute(unitOfWork) { MapInheritanceType = MapInheritanceType.ParentTable }); var persistentCoreTypeMemberInfo = new PersistentCoreTypeMemberInfo(unitOfWork) { DataType = DBColumnType.String, Name = "TestProp" }; persistentClassInfo.OwnMembers.Add(persistentCoreTypeMemberInfo); persistentCoreTypeMemberInfo.SetDefaultTemplate(TemplateType.ReadWriteMember); unitOfWork.CommitChanges(); }
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)); }