CodeSmith小尝试

今天看到传智播客Asp.Net高手之路视频教程,发现里面有空CodeSmith能够批量辅助生成有关数据库的代码,于是自己也写了一下,效果还不错。

1.先来个将数据库中的表批量生成类的代码。

<%-- 
Name:
Author:WLin 
Description: 
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="c#" LinePragmas="True" ResponseEncoding="utf-8"%>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Assembly Name="System.Data"%>
<%@ Import Namespace="System.Data" %>
<%@ Property Name="NameSpaceName" Type="String" Default="WlModel" Description="命名空间名"%>
<%@ Property Name="ClassName" Type="String" Default="WlClass" Description="类名"%>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" Description="从SchemaExplorer配置好的数据库表中选取具体的表名" Category="Context"%>

using System;

namespace <%=NameSpaceName%>
{
public class <%=ClassName%>
{
<% foreach(ColumnSchema cs in TableName.Columns){%>
 private <%=cs.SystemType%>  _<%=cs.Name%>;
<%}%>
<% foreach(ColumnSchema cs in TableName.Columns){%>
public <%=cs.SystemType%> <%=cs.Name%>
{
  get{return _<%=cs.Name%>;}
  set{_<%=cs.Name%>=value;}
}
<%}%>
}
}


2.再来个将数据库中的每一行数据装载到表对用的类对象中。

<%-- 
Name:
Author:WLin 
Description: 
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="c#" LinePragmas="True" ResponseEncoding="utf-8"%>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Assembly Name="System.Data"%>
<%@ Import Namespace="System.Data" %>
<%@ Property Name="NameSpaceName" Type="String" Default="WlDal" Description="命名空间名"%>
<%@ Property Name="ClassName" Type="String" Default="WlClass" Description="类名"%>
<%@ Property Name="TableName" Type="SchemaExplorer.TableSchema" Description="从SchemaExplorer配置好的数据库表中选取具体的表名" Category="Context"%>
<%@ Property Name="AliasNameSpaceName" Type="String" Default="WlModel" Description="另外命名空间名"%>

using System;
using System.Data;

namespace <%=NameSpaceName%>
{
public class <%=ClassName%>
{
 private void loadEntiryData(<%=AliasNameSpaceName%>.<%=ClassName%> p<%=ClassName%>,DataRow pRow)
{
 <% foreach(ColumnSchema cs in TableName.Columns){%>
     if(pRow["<%=cs.Name%>"]!=DBNull.Value)
     {
         p<%=ClassName%>.<%=cs.Name%> = (<%=cs.SystemType%>)pRow["<%=cs.Name%>"];
     }
 <%}%>
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值