public MappingTablePipelineFactory( [NotNull] IPropertySetterProvider propertySetterProvider, [NotNull] IExtractPrimitivePipelineSetupHelper extractPrimitivePipelineSetupHelper) { Guard.AgainstArgumentIsNull(propertySetterProvider, nameof(propertySetterProvider)); Guard.AgainstArgumentIsNull(extractPrimitivePipelineSetupHelper, nameof(extractPrimitivePipelineSetupHelper)); _propertySetterProvider = propertySetterProvider; _extractPrimitivePipelineSetupHelper = extractPrimitivePipelineSetupHelper; }
private static IMigrationInfo GetPlatformMigrationInfo(Type type) { Guard.AgainstArgumentIsNull(type, nameof(type)); Guard.AgainstNull(type.FullName, "type.FullName != null"); var migrationMetadata = type.GetOneAttribute <MigrationTimestampAttribute>(); Func <IMigration> migrationFunc = () => (IMigration)type.Assembly.CreateInstance(type.FullName); var description = FormattableString.Invariant($"{migrationMetadata.MigrationDate:g} - {type.FullName}"); var migrationInfo = new MigrationInfo(migrationMetadata.Version, description, TransactionBehavior.Default, migrationFunc); foreach (var allAttribute in type.GetAllAttributes <MigrationTraitAttribute>()) { migrationInfo.AddTrait(allAttribute.Name, allAttribute.Value); } return(migrationInfo); }