in src/MySqlExtensionConfigProvider.cs [52:75]
public void Initialize(ExtensionConfigContext context)
{
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
ILogger logger = this._loggerFactory.CreateLogger(LogCategories.Bindings);
// Only enable MySQL Client logging when VerboseLogging is set in the config to avoid extra overhead when the
// detailed logging it provides isn't needed
if (this.mysqlClientListener == null && Utils.GetConfigSettingAsBool(VerboseLoggingSettingName, this._configuration))
{
this.mysqlClientListener = new MySqlClientListener(logger);
}
LogDependentAssemblyVersions(logger);
#pragma warning disable CS0618 // Fine to use this for our stuff
FluentBindingRule<MySqlAttribute> inputOutputRule = context.AddBindingRule<MySqlAttribute>();
var converter = new MySqlConverter(this._configuration);
inputOutputRule.BindToInput(converter);
inputOutputRule.BindToInput<string>(typeof(MySqlGenericsConverter<string>), this._configuration, logger);
inputOutputRule.BindToCollector<MySQLObjectOpenType>(typeof(MySqlAsyncCollectorBuilder<>), this._configuration, logger);
inputOutputRule.BindToInput<OpenType>(typeof(MySqlGenericsConverter<>), this._configuration, logger);
context.AddBindingRule<MySqlTriggerAttribute>().BindToTrigger(this._triggerProvider);
}