Ejemplo n.º 1
0
        /// <summary>Initializes a new instance of the <see cref="AnySqlProvider"/> class.</summary>
        /// <param name="connect">The <see cref="DbConnection"/> factory function.</param>
        /// <param name="schema">The schema name. Can be <c>null</c>.</param>
        /// <param name="table">The table name prefix.</param>
        /// <param name="serialize">The serialization function.</param>
        /// <param name="deserialize">The deserialization function.</param>
        /// <param name="dialect">The SQL dialect.</param>
        public AnySqlProvider(
            Func <DbConnection> connect,
            string?schema, string table,
            Func <object, string> serialize,
            Func <string, object> deserialize,
            IAnySqlDialect dialect)
        {
            _connect     = connect;
            _serialize   = serialize;
            _deserialize = deserialize;
            _dialect     = dialect;

            _schemaName     = schema;
            _eventsTable    = Dialect.EventsTable(schema, table);
            _snapshotsTable = Dialect.SnapshotsTable(schema, table);
            _ready          = CreateTables();
        }