public CherrySeeder(Action <ISeederConfigurationBuilder> configurationExpression) { _entityMetadataDict = new Dictionary <Type, EntityMetadata>(); _idMappingProvider = new IdMappingProvider(); var configBuilder = new SeederConfigurationBuilder(); configurationExpression(configBuilder); _configuration = configBuilder.Build(); _objectListTransformation = new ObjectListTransformation( new ObjectTransformation.ObjectTransformation( new PropertyHandler( _idMappingProvider, new TypeTransformationProvider(_configuration.TypeTransformations) ) ) ); foreach (var entitySetting in _configuration.EntitySettings) { _entityMetadataDict.Add(entitySetting.EntityType, new EntityMetadata { EntityType = entitySetting.EntityType, EntitySetting = entitySetting }); } }
public PropertyHandler(IdMappingProvider idMappingProvider, TypeTransformationProvider typeTransformationProvider) { _strategyDictionary = new Dictionary <Func <string, EntitySetting, bool>, IPropertyHandler> { { PrimaryKeyHandler.CanHandle, new PrimaryKeyHandler() }, { ForeignKeyHandler.CanHandle, new ForeignKeyHandler(idMappingProvider) }, { CopyPropertyValueHandler.CanHandle, new CopyPropertyValueHandler(typeTransformationProvider) } }; }
public ForeignKeyHandler(IdMappingProvider idMappingProvider) { _idMappingProvider = idMappingProvider; }