private static Mappings CreateMappings(ConventionScannerSettings scannerSettings, Type[] typesOverride) { var types = typesOverride ?? FindTypes(scannerSettings); var config = new Dictionary <Type, TypeDefinition>(); foreach (var type in types) { var pocoDefn = new TypeDefinition(type) { AutoIncrement = scannerSettings.PrimaryKeysAutoIncremented(type), PrimaryKey = scannerSettings.PrimaryKeysNamed(type), TableName = scannerSettings.TablesNamed(type), SequenceName = scannerSettings.SequencesNamed(type), ExplicitColumns = true }; foreach (var prop in ReflectionUtils.GetFieldsAndPropertiesForClasses(type)) { var column = new ColumnDefinition(); column.MemberInfo = prop; column.DbColumnName = scannerSettings.PropertiesNamed(prop); column.DbColumnAlias = scannerSettings.AliasNamed(prop); column.IgnoreColumn = scannerSettings.IgnorePropertiesWhere.Any(x => x.Invoke(prop)); column.DbColumnType = scannerSettings.DbColumnTypesAs(prop); column.ResultColumn = scannerSettings.ResultPropertiesWhere(prop); column.ComputedColumn = scannerSettings.ComputedPropertiesWhere(prop); column.VersionColumn = scannerSettings.VersionPropertiesWhere(prop); column.VersionColumnType = scannerSettings.VersionColumnTypeAs(prop); column.ForceUtc = scannerSettings.ForceDateTimesToUtcWhere(prop); if (!pocoDefn.ColumnConfiguration.ContainsKey(prop.Name)) { pocoDefn.ColumnConfiguration.Add(prop.Name, column); } } config.Add(type, pocoDefn); } MergeOverrides(config, scannerSettings.MappingOverrides); //if (scannerSettings.OverrideWithAttributes) //{ // MergeAttributeOverrides(config); //} var pocoMappings = new Mappings { Config = config }; return(pocoMappings); }
private static Mappings CreateMappings(ConventionScannerSettings scannerSettings, Type[] typesOverride) { var types = typesOverride ?? FindTypes(scannerSettings); var config = new Dictionary<Type, TypeDefinition>(); foreach (var type in types) { var pocoDefn = new TypeDefinition(type) { AutoIncrement = scannerSettings.PrimaryKeysAutoIncremented(type), PrimaryKey = scannerSettings.PrimaryKeysNamed(type), TableName = scannerSettings.TablesNamed(type), SequenceName = scannerSettings.SequencesNamed(type), ExplicitColumns = true }; foreach (var prop in ReflectionUtils.GetFieldsAndPropertiesForClasses(type)) { var column = new ColumnDefinition(); column.MemberInfo = prop; column.DbColumnName = scannerSettings.PropertiesNamed(prop); column.DbColumnAlias = scannerSettings.AliasNamed(prop); column.IgnoreColumn = scannerSettings.IgnorePropertiesWhere.Any(x => x.Invoke(prop)); column.DbColumnType = scannerSettings.DbColumnTypesAs(prop); column.ResultColumn = scannerSettings.ResultPropertiesWhere(prop); column.ComputedColumn = scannerSettings.ComputedPropertiesWhere(prop); column.VersionColumn = scannerSettings.VersionPropertiesWhere(prop); column.VersionColumnType = scannerSettings.VersionColumnTypeAs(prop); column.ForceUtc = scannerSettings.ForceDateTimesToUtcWhere(prop); if (!pocoDefn.ColumnConfiguration.ContainsKey(prop.Name)) pocoDefn.ColumnConfiguration.Add(prop.Name, column); } config.Add(type, pocoDefn); } MergeOverrides(config, scannerSettings.MappingOverrides); //if (scannerSettings.OverrideWithAttributes) //{ // MergeAttributeOverrides(config); //} var pocoMappings = new Mappings {Config = config}; return pocoMappings; }