/// <summary>
        /// Deletes the specified entity based off Primary Key attribute.
        /// </summary>
        /// <param name="entity"></param>
        public void Delete <T>(T entity) where T : new()
        {
            string query = "";

            try
            {
                if (entity == null)
                {
                    throw new ArgumentNullException("entity");
                }

                query = BaseQuery.DELETE_WHERE <T>(entity.ToDeleteQuery());

                SqlUtil.ExecuteDynamicQuery(query);
            }
            catch (Exception ex)
            {
                var message = ex.Message;

                while (ex.InnerException != null)
                {
                    ex = ex.InnerException;

                    message += "\n" + ex.Message;
                }

                throw new Exception(message);
            }
        }