• 搭建Wpf框架(13) ——代码生成器的使用


    前言:往往后台添加一个类,我们又要开始简单重复的拷贝工作,作为一个程序员,我们要尽量避免大量代码的拷贝,一是不好维护,而是容易出错,如果拷贝不可避免,如果有规律可循,是不是可以自动代码生成。

    先贴出设计效果图

    第一步:如果我们可以连上数据库,可以使用DB First的方式将类刷新到工程里,但是暴露DB在前端是不合理的,所以使用后台提供的接口获取TableInfo生成类,

    /// <summary>
    /// 数据库表信息
    /// </summary>
    public class TableInfo
    {
        /// <summary>
        /// 字段Id
        /// </summary>
        public int ColumnId { get; set; }

        /// <summary>
        /// 字段名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 字段类型
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 是否为主键
        /// </summary>
        public bool IsKey { get; set; }

        /// <summary>
        /// 是否为空
        /// </summary>
        public bool IsNullable { get; set; }

        /// <summary>
        /// 字段描述说明
        /// </summary>
        public string Description
        {
            get
            {
                return _description.IsNullOrEmpty() ? Name : _description;
            }
            set
            {
                _description = value;
            }
        }

        private string _description { get; set; }
    }

    第二步:定义好模板,生成代码所在的工程和类名是变化的,其它都是固定的,模板都定义在如下文件夹里:

    生成代码的时候,将关键字替换即可 注:替换部分的代码就不贴出来了,在BuildCodeViewModel中。

    第三步 界面设计,选中类后,设置放置的区域(代码工程名)可以选择要生成的代码类型,是否需要覆盖生成,生成完成后需要重启客户端生效。

    第四步:测试,大家可以使用Base_Test类进行测试,注意生成完代码后,还需要配菜单。

    配置完后,需要重启客户端生效。

    最后老规矩,上源码地址

    https://gitee.com/akwkevin/aistudio.-wpf.-aclient 的AIStudio.Wpf.Base_Manage的ViewModels的BuildCodeViewModel.cs下

  • 相关阅读:
    关于在elasticSearch中使用聚合查询后只显示10个bucket的问题
    关于gradle与maven对springboot项目的配置文件加载异同
    正则表达式限制输入框只能输入数字
    关于在layui中的table checkbox 默认选中设置
    获取的ajax方法return的返回值的问题解析
    centos 6.5 安装mysql 5.6.35–libc.so.6(GLIBC_2.14)(64bit),libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
    Linux下ps -ef和ps aux的区别及格式详解
    SSH 远程上传本地文件至服务器
    VMWare Fusion 8 序列号
    Mac OS X下安装和配置Maven
  • 原文地址:https://www.cnblogs.com/akwkevin/p/16387851.html
Copyright © 2020-2023  润新知