• 搭建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下

  • 相关阅读:
    shell (3) 磁盘挂载
    QByteArray 内存拷贝异常
    记录QTextEdit
    QTableWidget 使用
    QT 读写xml
    远程工具长时间待机断网解决办法
    qt读写json文件
    QT 资源文件(.qrc)
    error: C1041: 无法打开程序数据库“E:ProjectQtuild-QCaculator-Desktop_Qt_5_14_1_MSVC2017_32_bit-DebugdebugQCaculator.vc.pdb”;如果要将多个 CL.EXE 写入同一个 .PDB 文件,请使用 /FS
    Vs2019+Qt5.14环境配置,安装qt visual studio tools报错。
  • 原文地址:https://www.cnblogs.com/akwkevin/p/16387851.html
Copyright © 2020-2023  润新知