MySqlConnectorStatementBuilder
This class is the BaseStatementBuilder-derived implementation for MySqlConnector. It is automatically registered by MySqlConnectorBootstrap — you do not need to instantiate it directly under normal use.
Its SQL generation is functionally identical to MySqlStatementBuilder (MySql.Data) — the same `table`-quoted, @-parameterized SQL, LIMIT/OFFSET paging, LAST_INSERT_ID()-based identity retrieval, multi-row INSERT ... VALUES ROW(...), ROW(...), ... for InsertAll, and INSERT ... ON DUPLICATE KEY UPDATE ... for Merge/MergeAll — only the underlying ADO.NET driver and its MySqlConnection/MySqlDbType types differ.
No
convertFieldResolveris supplied to the base constructor, so a Field with an explicit.Typeis not rendered as aCAST/CONVERTexpression for MySQL.
Constructors
public MySqlConnectorStatementBuilder()
public MySqlConnectorStatementBuilder(IDbSetting dbSetting,
IResolver<Field, IDbSetting, string> convertFieldResolver = null,
IResolver<Type, Type> averageableClientTypeResolver = null)
The parameterless constructor resolves dbSetting via DbSettingMapper.Get<MySqlConnection>(), so it can only be used after MySqlConnectorBootstrap has run.
Usability
Use StatementBuilderMapper to override it with a custom implementation.
StatementBuilderMapper.Add(typeof(MySqlConnection), new MyCustomMySqlConnectorStatementBuilder(dbSetting), true);