点击这里给我发消息 点击这里给我发消息

DNN模块开发系列文章(7)——用CodeSmith Templates进行编码

添加时间:2010-1-5
    相关阅读: 设计 开发 数据库 程序 SQL 公司 制作
在利用CodeSmith Templates进行代码编写之前,我们应该先完成数据表的设计。因为CodeSmith Templates是根据数据表的字段来生成相应代码的。

  首先根据《DNN模块开发系列文章(1)——分析设计》中对MyCompany_Article文章信息表的定义在SQL Server数据库中进行设计。记住要设计好主外键,特别是与Modules表的关联。

  其次,我们还可以将程序所用到存储过程先编写好。在编写存储过程时,我们可以利用CodeSmith Templates中StoredProcedures.cst模版进行编写存储过程。不过它编写好的代码好像和我通常用的命名规则不一样,所以我利用它生成的部分代码,如变量定义部分。这个文章模块的功能比较简单,就是添加、编辑、删除、查看文章,并能列举出这个模块的全部文章。所以我们可以利用5个对应的存储过程来完成,它们是:

  MyCompany_Article_Add  添加

  MyCompany_Article_Update  编辑

  MyCompany_Article_Delete  删除

  MyCompany_Article_Get  获取一篇文章

  MyCompany_Article_GetByModules 获取该模块的全部文章

  大家可以试着先编写这些存储过程,在这个系列完成后我会给出全部代码。在编写时要注意所有的数据库对象前都需要加上“dbo.”,在存储过程和表的命名上,我们也应该遵循“公司名_模块名_功能名称”的原则,遵循良好的命名规则不但代码看起来可读性更高,而且在后期我们只制作数据库安装脚本时可以方便的利用查找替换的办法快速生成数据库安装脚本。

  利用CodeSmith Templates进行编程,我们当然要利用到CodeSmith这个代码生成利器。你可以在这里 http://www.codesmithtools.com/ 获得它。使用CodeSmith Templates的过程和简单,首先我双击需要用到的模版。通常,我先从Info类入手,双击Vb BLL Info Class.cst模版。首先我们需要选中MultiSourceTable,挑选我们所建立的文章信息表MyCompany_Article,如下图:

  1、点击MultiSourceTable属性弹出Table Picker选择窗口,选择表所在的数据库,选择表。如果没有数据库,可以点击添加。

DNN模块开发系列文章(7)——用CodeSmith Templates进行编码

  2、添加数据库连接

DNN模块开发系列文章(7)——用CodeSmith Templates进行编码

  3、输入ObjectQualifer(任意输,好像没用),点击Generate生成代码

DNN模块开发系列文章(7)——用CodeSmith Templates进行编码

  4、将这段代码复制到ArticleInfo.vb文件中

  利用Vb DataProvider.cst生成DataProvider.vb文件代码。在生成时我们设置IncludeList为false,不生成获取全部文章列表的方法。将生成好的代码复制到DataProvider.vb中的相应位置,替换代码中“MyCompany_”前缀。

  我们再分别利用Vb BLL Controller Class.cst和Vb SqlDataProvider.cst生成ArticleController.vb和SqlDataProvider.vb中代码,方法和前一种相同。在生成SqlDataProvider代码时,我们还需要修改一下对应的存储过程名称,因为我们命名规则和他的不一样。

  现在我们已经完成了大部分逻辑层和数据访问层代码,剩下就只有表示层的代码了。我们分别修改Article.ascx、ArticleEdit.ascx和Settings.ascx这三个控件,添加一些asp.net控件进去完成设计要求的功能。现在就和开发其它asp.net程序一样了,没有什么其它技巧和难点。只是在编写时注意参考一下DNN其它模块的代码,看看他们都是怎样的结构,DNN Project Templates也为我们添加了不少代码,我们填充完剩下的部分整个模块就算是完成了

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册