/// <summary>
        /// delete
        /// </summary>
        /// <param name="expression"></param>
        /// <returns></returns>
        public IDeleteQueryAble <T> Delete(Expression <Func <T, bool> > expression = null)
        {
            _SqlBuilder.AppendDeleteSql($"DELETE {_MainTableName} ");
            _SqlBuilder.SetSqlCommandType(SqlCommandType.Delete);

            if (expression != null)
            {
                SqlVistorProvider.Delete(expression.Body, _SqlBuilder);
            }
            return(new DeleteQueryAble <T>(_SqlBuilder, _DapperKitProvider));
        }