Galen.Ci.EntityFramework.DbDeploymentManager.GetSecureSeededInitializer C# (CSharp) Method

GetSecureSeededInitializer() private method

private GetSecureSeededInitializer ( ParsedAssemblyQualifiedName assemblyQualifiedName ) : object
assemblyQualifiedName Galen.Ci.EntityFramework.Utilities.ParsedAssemblyQualifiedName
return object
        private object GetSecureSeededInitializer(ParsedAssemblyQualifiedName assemblyQualifiedName)
        {
            // pre-load generic types from correct locations
            var seedDataAssemblyPath = Path.Combine(
                Path.GetDirectoryName(m_Config.TargetAssemblyPath),
                $"{assemblyQualifiedName.GenericParameters[1].ShortAssemblyName}.dll");

            var seedDataAssembly = Assembly.LoadFrom(seedDataAssemblyPath);
            var seedDataType = seedDataAssembly.GetType(assemblyQualifiedName.GenericParameters[1].TypeName);

            var targetContextType = TargetAssembly.GetType(assemblyQualifiedName.GenericParameters[0].TypeName);
            var initType = typeof(CreateSecureSeededDatabaseIfNotExists<,>).MakeGenericType(
                targetContextType,
                seedDataType);

            return Activator.CreateInstance(initType);
        }