最近,我在公司里面的角色有点变动,终于从原本的程序劳工 (Code) 变成比较像是程序设计师 (Programmer)。
(虽然说是程序设计师,但是 SA、SD、MIS、DBA、写文件、跟客户交涉...通通我都不会少。 Orz MSDN 技术论坛讨论: 超大数据表分页的效能问题 看的也不知道怎么讲,不过我也没有那么恶劣就是了!)
怎么说呢?原因就是,之前手上的项目虽然都遵循 Spiral 模型,慢慢将项目建置起来,但是项目里面的程序就是不够 OO,而且画面与程序设计也切得不是很干净。而且,大家都是觉得认为非必要不可,觉得不会写成类别,写成 User Control ,导致程序代码无法 Re-Use,而且也难以管理。
一直重复地发明轮子也不是办法,加上顶头上司一直很想将部门导向正统的开发项目的路线,从 WBS 分配工作项目给每位程序设计师,然后每个人埋头苦干,之后在整合测试然后补齐一堆文件的现况中作一些改变。真的想从 SA -> SD -> Programming 一步一步来,所以现在我大部分的时间都是在写类别数据库。
一直在设计类别数据库,就觉得产生字段 (Field) 与属性 (Property) 实在是单调的事情,没有比较快速的办法吗?幸好,最近是用了一套软件 Code Smith 可以帮忙从数据库的字段,将各字段抽取出来快速产生字段 (Field) 与属性 (Property) 的程序代码,让我轻松了不少。以下试用小心得:
图一、CodeSmith 的欢迎画面
图二、Schema Explorer
由于,要从数据库中抽取字段,所以第一步就是在图二中 Schema Explorer 中,点击红色按钮新增数据库联机。透过 Data Source 窗口,就可以设定联机名称、设定联机字符串,如下图三所示。 (联机字符串也可以透过图三红色框线所指示位置按钮工具,会跳出图四的设定画面,接口如 Visual Studio 应该很熟悉吧)
Data Source 设定
Connection Properties 窗口帮助设定 Connection String
新增完联机字符串后,点击画面中【OK】按钮完成设定,如图五:
Data Source 设定
完成后,Schema Explorer 就会出现刚刚新增的数据库了,在把目光移到右边的 Template Explorer (图六)。Template Explorer 预设的 ActiveSinnpets 底下就有产生 Filed 与 Property 的执行档案,以 CSharp 目录为例在 TableProperties.cst 按下右键选择 Excute,就会跳出 TableProperties.cst 执行窗口 (图七)。
Template Explorer 画面
TableProperties.cst 执行窗口
在 TableProperties.cst 执行窗口,我们就可以选择刚刚新建立的数据库中的数据表,例如 dbo.Customers,在点击 Generate 按钮,所有字段会依照 SQL Server 的数据型态转换成 .Net 平台上相对应的数据型态来产生程序代码,如图八所示:
TableProperties.cst 执行结果,产生了字段 (Field) 与属性 (Property)
当然,有时候字段的对应或是数据型态对应有小误差,可以自己手动调整,不过总比通通自己 key-in 好多了!
|