c# 实体类生成工具

引用:http://www.cnblogs.com/xugang/archive/2010/05/19/1739474.html

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

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 '
复制代码

 

SQL代码

 

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->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 控件;
复制代码

 

C#代码

 

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
// 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;

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值