『 天道酬勤 』 李天平的博客


君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。
posts - 127, comments - 2851, trackbacks - 83, articles - 18
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

动软代码生成器中已经集成了模板代码生成的功能,但还有很多老的用户不知道或者新的用户还不是太了解,这里简单截图看一下这个功能,对于一些个性化定制的用户和高级用户,可以更灵活更方便的生成自己的代码。

1.主界面:

 

2.在左侧【数据库视图】,选中表,右键菜单【模板代码生成】

 

3.然后,出现单表的代码生成器界面,我们设置自己需要更改的信息

 

备注:代码还有一些生成规则,是在菜单【工具】-【选项】-【代码生成设置】中进行设置。

 

然后,点击工具栏【生成代码】或者【生成代码】按钮,即可生成该类的代码:

生成的代码,可以直接复制到项目文件中,也可以右键保存成CS文件。通过窗体下面的Tab按钮可以来回切换设计视图和代码。

 

 

4. 可以设置模板目录

 

5. 模板代码批量生成

1. 选中数据库或者表,然后单击右键菜单【模板代码批量生成】

2. 出现的窗口和新建项目基本相似,只是多了一个选中架构的选项:

 

 

6. 还可以选择存储过程,生成存储过程的DAL调用代码:

 

 

 

 

 

 

 

 

 

 

 

7. 模板示例讲解

     模板的语法和Aspx的语法非常相似,基本都是c#的语法结构,只要会c#基本就能写模板。

 

 

 

 更详细的模板语法教程,可以下载教程文档:http://files.cnblogs.com/ltp/Template.pdf

 

 

Feedback

#1楼  回复 引用 查看   

2011-05-25 18:27 by 怒吼!!!      
李老大威武,坐个沙发!
一如既往的支持!!!

#2楼[楼主]  回复 引用 查看   

2011-05-25 18:29 by 李天平      
@怒吼: 你好快。谢谢支持。

#3楼  回复 引用 查看   

2011-05-25 20:33 by 刘亚      
应该是板凳吧!标记很有心,学习!
大哥,我来顶一下,绝对是好文章。

#5楼  回复 引用 查看   

2011-05-31 11:37 by Jacky Song      
右击单表生成数据脚本有问题,字符串类型没加引号('')

#6楼  回复 引用 查看   

2011-06-02 17:51 by BigBar      
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= c.Description == "" ? c.ColumnName : c.Description #>
/// </summary>
private <#= CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName.ToString().ToLower() #>;
public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#= c.ColumnName #>
{
get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
}
<# } #>
model模板生成不会按数据库顺序生成出来?

#7楼  回复 引用 查看   

2011-06-28 10:49 by 冰の酷龙      
看见官网更新,特来感谢~

#8楼  回复 引用 查看   

2011-07-09 09:38 by 寒天      
2.74生成access 有严重bug 凡是int字段都会被当作自动编号来处理,生成的添加方法没有字段,经多次测试,发现选择类型为数字,并且非空,就会被当作自动编号来处理

#9楼  回复 引用 查看   

2011-07-14 11:55 by 小城岁月      
啥时能赶上CodeSmith呢

#10楼  回复 引用 查看   

2011-07-19 09:40 by 尼玛      
李老师,抽空讲解下上传下载类的使用吧

#11楼  回复 引用 查看   

2011-07-26 12:21 by zagelover      
一直在用,过来支持李老师,非常感谢~

#12楼  回复 引用 查看   

2011-08-13 22:48 by 941abc      
大家都买一本李老师的书吧,一方面是对李老师的支持,另一方面也会对自己有很大的帮助。真心推荐!

#13楼  回复 引用 查看   

2011-08-20 15:32 by Roy      
李老师,
提个建议,是否可以在CodeCommon中增加一个方法,返回DBType对应.net Framework中的类名,类似CodeCommon.DbTypeToCS,但CodeCommon.DbTypeToCS返回的是C#中的关键字,比如:如果想生成DataReader的GetValue方法如:GetInt32 就必须在选项中将数据库类型中对应C#类型改过来: int 改成 Int32,不能同时生成c#中的类名和.net Framework的类名。

#14楼  回复 引用 查看   

2011-08-22 15:11 by 田爵爷      
李老师,
提个建议..因为我觉得实体类应该是对表层查询数据的对应.而数据层只是为实体类提供数据的.那生成实体类的时候经常会使联合查询的结果.所以实体类生成是不是能做个多表的联合生成实体类..

#15楼[楼主]  回复 引用 查看   

2011-08-22 16:24 by 李天平      
@田爵爷
多表联查的问题,你可以创建一个视图,然后对这个视图进行生成,这样就实现你的要求了。

#16楼  回复 引用 查看   

2011-09-22 19:34 by wlf      
模版功能不错 语法是 微软的T4吧??

支持 ~

#17楼  回复 引用 查看   

2011-10-21 13:18 by 澐飞扬      
顶,支持。

#18楼  回复 引用 查看   

2011-10-31 17:33 by 骑着蜗牛向前进      
动软好还是CodeSmith好呀?

#19楼  回复 引用 查看   

2011-11-03 18:07 by 明天的天亮      
还有几个小bug 那个long 型读取时会出现long? 在C#4.0中是一个错误提示。
还有那个calendar1.js文件可能是不存在的~

#20楼  回复 引用 查看   

2011-11-09 22:15 by liu129jun      
1.点击表头字段自动排序功能没有
2.分页没有使用控件样式.
3.查询没有自动生成每个字段查询
不知道是不是有建设性,但是生成的分页实在太难看了.个人观点