/// <summary>
        /// Inserts the given rows if they do not exist.
        /// </summary>
        /// <param name="objs">The objects to insert.</param>
        /// <param name="commandTimeout">Number of seconds before command execution timeout.</param>
        /// <returns>The number of rows inserted.</returns>
        public int BulkInsertIfNotExists(IEnumerable <T> objs, int commandTimeout = 30)
        {
            int count;

            if (AutoKeyColumn != null)
            {
                long maxAutoKey = MaxAutoKey();
                count = Access.BulkInsertIfNotExists(objs, commandTimeout);
                GetList($"WHERE {AutoKeyColumn.ColumnName} > {maxAutoKey}", commandTimeout);
            }
            else
            {
                count = Access.BulkInsertIfNotExists(objs, commandTimeout);
                BulkGet(objs);
            }
            return(count);
        }