/// <summary>
        /// Create table from given model
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public virtual int CreateTable <T>() where T : class, new()
        {
            var tableName = typeof(T).TableNameAttributeValidate();
            var fields    = DataExtension.GenerateSQLCreteFieldStatement <T>(this);
            var query     = $@"CREATE TABLE {tableName}({string.Join(",", fields)})";

            return(this.ExecuteNonQuery(query));
        }