/// <summary>
        /// Updates the given rows.
        /// </summary>
        /// <param name="objs">The objects to update.</param>
        /// <param name="commandTimeout">Number of seconds before command execution timeout.</param>
        /// <returns>The number of updated rows.</returns>
        public int BulkUpdate(IEnumerable <T> objs, int commandTimeout = 30)
        {
            int count = Access.BulkUpdate(objs, commandTimeout);

            if (AutoSyncUpdate)
            {
                BulkGet(objs);
            }
            else
            {
                foreach (T obj in objs)
                {
                    if (Items.TryGetValue(obj, out R item))
                    {
                        item.CacheValue = obj;
                    }
                }
            }
            return(count);
        }