/// <summary> /// Registers entity works generator provider. /// </summary> public static void RegisterEWGProvider(string name, EwgProviderFactory ewgProviderFactory) { // Add ewg provider if not exists. if (EwgProviderFactories.ContainsKey(name)) { return; } // Add provider. EwgProviderFactories.TryAdd(name, ewgProviderFactory); }
/// <summary> /// Creates specific entity works generator provider. /// </summary> public static EwgProviderFactory GetSpecificProvider(DatabaseGeneratorOptions options) { // Get specific entity works generator provider. if (EwgProviderFactories.TryGetValue( options.DbProviderAssembly, out EwgProviderFactory ewgProviderFactory)) { return(ewgProviderFactory); } // Throw exception. else { throw new EntityWorksGeneratorException(string.Format( "Current db provider does not have registred matching ew provider. " + "Please refer to documentation.")); } }