protected virtual SQLMultiInsert GetInsertHelper(IDbConnection conn)
        {
            SQLMultiInsert helper = new SQLMultiInsert(conn, CollectionName, InsertsPerQuery);
            helper.InsertCommand = "replace"; // the old row is deleted before the new row is inserted

            helper.AddField("ID", DbType.Int64, 0);
            helper.AddField("Symbol", DbType.String, 255);
            helper.AddField("Time", DbType.DateTime, 0);
            helper.AddField("Bid", DbType.Double, 0);
            helper.AddField("Ask", DbType.Double, 0);
            helper.AddField("BidSize", DbType.Int32, 0);
            helper.AddField("AskSize", DbType.Int32, 0);
            helper.AddField("Provider", DbType.String, 255);

            helper.Prepare();

            return helper;
        }
        private SQLMultiInsert GetInsertHelper(IDbConnection conn, string tableName)
        {
            SQLMultiInsert helper = new SQLMultiInsert(conn, tableName, MAX_RECORDS_PER_QUERY);
            helper.InsertCommand = "Insert or replace";

            helper.AddField("ID", DbType.Int64, 0);
            helper.AddField("Symbol", DbType.String, 255);
            helper.AddField("Time", DbType.Int64, 0);
            helper.AddField("Bid", DbType.Double, 0);
            helper.AddField("Ask", DbType.Double, 0);
            helper.AddField("BidSize", DbType.Int32, 0);
            helper.AddField("AskSize", DbType.Int32, 0);
            helper.AddField("Provider", DbType.String, 255);

            helper.Prepare();

            return helper;
        }