根据SQLServer数据表生成C#实体类
2012-08-28 09:33
239 查看
生成表的实体类工具,有助于减少代码量,加快开发速度.
先看效果图
第一副图根据输入的连接服务器地址 用户名 登录数据库名 密码连接到数据库.如果错误则提示连接失败.
第二幅图先取的当前数据库所有的用户创建的表
然后根据选中的表名取得数据库中关于此表信息的的系统表.然后将字段类型转换为C#数据类型.并输出的TextBox
这里主要用到几个表
select * from sys.extended_properties 表注释 和列注释,列的排列顺序(不带列名)
select * from sys.columns 数据库表所有列的详细信息 字段类型,表的字段,名称等
select * from sysobjects where xtype = 'U' --所有用户创建的表 列ID
select * from systypes --SQL SERVER 数据库所有的类型
select * from syscolumns 所有字段名称 长度等
下面以 Ts_Customers 为例 取得此表的 列名,列类型,表注释,列注释
select syscolumns.name,systypes.name as type
,(select isnull(value,'') from sys.extended_properties ex_p where ex_p.minor_id=0
and ex_p.major_id=sysobjects.id) as TableDemo
,ext.value as colName from syscolumns
INNER JOIN sysobjects ON syscolumns.id = sysobjects.id
INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id
and ext.minor_id=syscolumns.colorder
WHERE (sysobjects.name = 'Ts_Customers') AND (systypes.name <> 'sysname')
效果如下
取得结果后.就是循环写入到TextBox了。这里代码不贴了.很简单
基本达到想要的效果.遗憾的是想把数据库连接测试通过后动态保持到app.config 然后从配置文件读取.怎奈发现应用程序执行中.只有下次才能从配置文件中读.所以就没这么做.
源码下载
先看效果图
第一副图根据输入的连接服务器地址 用户名 登录数据库名 密码连接到数据库.如果错误则提示连接失败.
第二幅图先取的当前数据库所有的用户创建的表
然后根据选中的表名取得数据库中关于此表信息的的系统表.然后将字段类型转换为C#数据类型.并输出的TextBox
这里主要用到几个表
select * from sys.extended_properties 表注释 和列注释,列的排列顺序(不带列名)
select * from sys.columns 数据库表所有列的详细信息 字段类型,表的字段,名称等
select * from sysobjects where xtype = 'U' --所有用户创建的表 列ID
select * from systypes --SQL SERVER 数据库所有的类型
select * from syscolumns 所有字段名称 长度等
下面以 Ts_Customers 为例 取得此表的 列名,列类型,表注释,列注释
select syscolumns.name,systypes.name as type
,(select isnull(value,'') from sys.extended_properties ex_p where ex_p.minor_id=0
and ex_p.major_id=sysobjects.id) as TableDemo
,ext.value as colName from syscolumns
INNER JOIN sysobjects ON syscolumns.id = sysobjects.id
INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id
and ext.minor_id=syscolumns.colorder
WHERE (sysobjects.name = 'Ts_Customers') AND (systypes.name <> 'sysname')
效果如下
取得结果后.就是循环写入到TextBox了。这里代码不贴了.很简单
基本达到想要的效果.遗憾的是想把数据库连接测试通过后动态保持到app.config 然后从配置文件读取.怎奈发现应用程序执行中.只有下次才能从配置文件中读.所以就没这么做.
源码下载
相关文章推荐
- 根据SQLServer数据表生成C#实体类
- 通过C#程序生成数据库的实体类,根据SqlServer存储过程生成数据操作类
- T4系列文章之四:根据SqlServer生成实体类
- PowerDesigner16.5物理数据表生成C#实体类Model
- 利用在线工具根据JSon数据自动生成对应的Java实体类
- (C#)WPF根据设计的数据动态生成火车席位
- Hibernate根据实体类生成数据表时字段类型是tinyblob
- C#反射,根据反射将数据库查询数据和实体类绑定,并为实体类赋值
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
- PowerDesigner16.5物理数据表生成C#实体类Model
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
- 添加注解后,框架没有自动根据实体类生成数据表,Hibernate
- C# 根据实体类的属性动态生成字符串
- ASP.NET根据URL生成网页缩略图示例程序(C#语言)
- 我的第一个C#程序:从多个文本文件中读取数据到SqlServer并实现增删改查
- mysql 中查看指定表的字段名 (可根据字段变量生成c#后台代码)
- 读取sqlserver图片image数据生成图片文件
- 关于sqlserver的自动生成包含数据的insert脚本问题
- T4模板根据DB生成实体类