private static void SetupTables(ListMapping<IDatabase, IMapping> Mappings, IDatabase Key, Utilities.ORM.Manager.Schema.Default.Database.Database TempDatabase) { Contract.Requires<NullReferenceException>(Mappings != null, "Mappings"); foreach (IMapping Mapping in Mappings[Key]) { TempDatabase.AddTable(Mapping.TableName); SetupProperties(TempDatabase[Mapping.TableName], Mapping); } }
private static void SetupJoiningTablesEnumerable(ListMapping<IDatabase, IMapping> Mappings, IMapping Mapping, IProperty Property, IDatabase Key, Utilities.ORM.Manager.Schema.Default.Database.Database TempDatabase) { Contract.Requires<ArgumentNullException>(TempDatabase != null, "TempDatabase"); Contract.Requires<ArgumentNullException>(TempDatabase.Tables != null, "TempDatabase.Tables"); if (TempDatabase.Tables.FirstOrDefault(x => x.Name == Property.TableName) != null) return; var MapMapping = Mappings[Key].FirstOrDefault(x => x.ObjectType == Property.Type); if (MapMapping == null) return; if (MapMapping == Mapping) { TempDatabase.AddTable(Property.TableName); TempDatabase[Property.TableName].AddColumn("ID_", DbType.Int32, 0, false, true, true, true, false, "", "", ""); TempDatabase[Property.TableName].AddColumn(Mapping.TableName + Mapping.IDProperties.First().FieldName, Mapping.IDProperties.First().Type.To(DbType.Int32), Mapping.IDProperties.First().MaxLength, false, false, false, false, false, Mapping.TableName, Mapping.IDProperties.First().FieldName, "", false, false, false); TempDatabase[Property.TableName].AddColumn(MapMapping.TableName + MapMapping.IDProperties.First().FieldName + "2", MapMapping.IDProperties.First().Type.To(DbType.Int32), MapMapping.IDProperties.First().MaxLength, false, false, false, false, false, MapMapping.TableName, MapMapping.IDProperties.First().FieldName, "", false, false, false); } else { TempDatabase.AddTable(Property.TableName); TempDatabase[Property.TableName].AddColumn("ID_", DbType.Int32, 0, false, true, true, true, false, "", "", ""); TempDatabase[Property.TableName].AddColumn(Mapping.TableName + Mapping.IDProperties.First().FieldName, Mapping.IDProperties.First().Type.To(DbType.Int32), Mapping.IDProperties.First().MaxLength, false, false, false, false, false, Mapping.TableName, Mapping.IDProperties.First().FieldName, "", true, false, false); TempDatabase[Property.TableName].AddColumn(MapMapping.TableName + MapMapping.IDProperties.First().FieldName, MapMapping.IDProperties.First().Type.To(DbType.Int32), MapMapping.IDProperties.First().MaxLength, false, false, false, false, false, MapMapping.TableName, MapMapping.IDProperties.First().FieldName, "", true, false, false); } }