示例#1
0
        /// <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);
        }
示例#2
0
        /// <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."));
            }
        }