zoukankan      html  css  js  c++  java
  • C# 实体类生成工具

    C# 实体类生成工具


    我知道:这类工具在网上已有不少。但下载后一试用,很是不爽!
                   要么过于庞大,使用起来比较复杂,似乎杀鸡焉用牛刀;
                   要么太过简单,使用起来难以满足我的需求。

    而此工具要做到既小巧,又实用,可谓之“众里寻他千百度,摆渡百度无觅处” ^_^

    No way out, do it yourself !  so,  有了下文 。。。

    根据实际需求,站在用户角度,编写了此工具。
    本人之此工具,不可谓之很有技术含量,但一定小巧实用;
    本人之此工具,不可谓之多么强大完美,但一定体贴入微;

    实现功能:
    1、能自动获得用户数据库中的所有数据表;
    2、能根据用户所选的数据表,自动生成实体类;
    3、能根据用户的需求和选择,动态生成构造函数;
    4、文本显示实现了关键字彩色区分;
    5、能一键复制到剪切板中,供用户拷贝;
    6、能自动产生 C# 实体类的(*.cs)代码文件;

    界面截图:

     

    SQL语句参考代码:

    SQL代码
    use master
    go

    -- 查看 DBMS 中所有对象
    select * from sysobjects

    -- 查看 DBMS 中所有数据库
    select * from sysdatabases

    ------------------------------------------------------
    use yourDataBase
    go

    -- 查看"yourDataBase"数据库中所有的表
    select * from yourDataBase.information_schema.tables

    -- 查看"yourDataBase"数据库中所有的字段
    select * from yourDataBase.information_schema.columns 

    -- 查看"yourDataBase"数据库中,"yourTable"表的相关字段的属性
    select column_name,data_type --数据类型
      from yourDataBase.information_schema.columns 
      
    where table_name='yourTable'

    select column_name,is_nullable --是否为空
      from yourDataBase.information_schema.columns 
      
    where table_name='yourTable'

    C#语句参考代码:

    C#代码

    // 1 提供将数据置于系统剪贴板中以及从中检索数据的方法。
    Clipboard.SetDataObject(richTextBox1.Text);

    // 2 让浏览器打开超链接地址
    private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
    {
        System.Diagnostics.Process.Start(e.LinkText);
        
    // 或 System.Diagnostics.Process.Start("IExplore.exe", e.LinkText);
    }

    // 3 改变关键字的颜色
    private void changeColor(string keyword) // keyword 关键字
    {
        
    int n_bool = 0;
        
    int start = 0;
        
    while (n_bool != -1)
        {
            n_bool 
    = txtEntityClass.Find(keyword, start,
                              RichTextBoxFinds.WholeWord 
    | RichTextBoxFinds.MatchCase);
            start 
    = (n_bool == 1? start + keyword.Length : start + 1;
            txtEntityClass.SelectionColor 
    = Color.Blue;
        }
    }

    // 4 可以考虑将 RichTextBox 控件替换为 WebBrowser 控件;

    实体类生成工具[下载]

    补记:

    1. 对数据库中少用的数据类型,在C#语言中补充了相关类型的映射;
    2. 修复了C#生成字段的顺序没按照数据库表中字段的顺序的BUG;

        感谢“永远的阿哲”所提供的反馈!

    作者: XuGang   网名:钢钢
    出处: http://xugang.cnblogs.com
    声明: 本文版权归作者和博客园共有!转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    Xcode工程编译错误之iOS开发之The Xcode build system has crashed. Please close and reopen your workspace
    flutter学习之二Material Design设计规范
    Instruments之Xcode Analyze 代码静态检查及问题解决
    【Flutter学习】之MaterialApp和Scaffold组件使用详解
    ItunesConnect:"Missing Push Notification Entitlement"警告-----以及解决方法
    iOS 微信打开第三方应用(Universal Links 和 URL Schemes)
    关于代理服务器的原理及用法
    Xcode工程编译错误之iOS开发之Sending '__strong typeof (xxx)' (aka 'xxxx *__strong') to parameter of incompatible type 'id<xxx>'
    HL AsySocket 服务开发框架
    feign hystrix 线程池伸缩控制
  • 原文地址:https://www.cnblogs.com/stevenjson/p/2454592.html
Copyright © 2011-2022 走看看