【高手请看过来】Codesmith相关的用法

科技互联人生 2005-08-07 06:31:01
最近在研究Codesmith,那个是外国人写的工具,也清楚国内有很多
公司和高手在用这个生成代码,感觉是个很COOL的工具,不过由于资料不
多,而且大多是E版的。
希望有用过的高手不吝啬将您的经验分享一下(有文档也行),也算是为新
手指路了哦,先谢过了。

大家都来顶啊,分不够再加~
...全文
466 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeangel 2005-08-16
  • 打赏
  • 举报
回复
all saied,so JF
byj2001329 2005-08-16
  • 打赏
  • 举报
回复
mark
amendajing 2005-08-16
  • 打赏
  • 举报
回复
mark
科技互联人生 2005-08-16
  • 打赏
  • 举报
回复
揭贴前的UP~
brando_beat 2005-08-16
  • 打赏
  • 举报
回复
mark
科技互联人生 2005-08-12
  • 打赏
  • 举报
回复
自己先顶~
jimu8130 2005-08-12
  • 打赏
  • 举报
回复
学习
msdn应该有吧 ?
brando_beat 2005-08-12
  • 打赏
  • 举报
回复
就是没有好好的用它啊
henryfan1 2005-08-12
  • 打赏
  • 举报
回复
其实也不是复杂的东西,你看下他的模板和调用的事例就很快上手的了.
他的引擎还是挺强了,我用它来做XML报表的.
JzeroBiao 2005-08-12
  • 打赏
  • 举报
回复
顶!
adandelion 2005-08-12
  • 打赏
  • 举报
回复
UP
bitsbird 2005-08-12
  • 打赏
  • 举报
回复
论坛模板资源

CodeSmith Tempalate share 论坛。
http://www.ericjsmith.net/codesmith/forum/default.aspx?f=9

Codesmith templates library
http://sourceforge.net/projects/cstemplates/

DotNet DAL Library
http://sourceforge.net/projects/dotnetdallib/

微软关于codesmith的例子
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnhcvs04/html/vs04e5.asp
科技互联人生 2005-08-09
  • 打赏
  • 举报
回复
谢谢各位捧场,我还想问下,
Codesmith 是一个代码生成引擎,应该搭配一些代码模板文件才能发挥作用
有没有好的模板文件提供,或者有的下载URL也行。
liuqinglq 2005-08-09
  • 打赏
  • 举报
回复
我没听说过……汗
稍微有点无敌 2005-08-09
  • 打赏
  • 举报
回复
Codesmith的功能当然是很强的!!早就听说了!!
正在学习!
yellowhwb 2005-08-09
  • 打赏
  • 举报
回复
实体类,控制类,shcema都可以生成,我这里有个模板的例子,v2.6和v3.0略有不同,可以自己尝试一下:
<%@ CodeTemplate Language="C#" TargetLanguage="Text" Src="" Inherits="" Debug="False" Description="Template description here." %>
<%@ Assembly Name="CodeTemplateRule" %>
<%@ Import Namespace="CodeTemplateRule" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>

<%@ Property Name="DataBase" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="数据库连接." %>
<%@ Property Name="TableName" Type="System.String" Default="" Optional="False" Category="" Description="表名" %>
<%@ Property Name="NameSpace" Type="System.String" Default="Company.Product.Module" Optional="False" Category="" Description="命名空间" %>
<%@ Property Name="Author" Type="System.String" Default="Author" Optional="False" Category="" Description="作者" %>
<%@ Property Name="Description" Type="System.String" Default="实体类" Optional="False" Category="" Description="该类的描述" %>

<script runat="template">
CodeTemplateRule rule=new CodeTemplateRule("XXX_T_");
</script>
/******************************************************************
/*Copyright(c)
/*文件名:<%= rule.DealColVar(rule.GetTableName(TableName)) %>Entity.cs
/*文件创建时间:<%= DateTime.Now.ToString("yyyy-MM-dd HH:mm:00") %>
/*文件创建人:
/*描 述:<%= rule.GetTableName(TableName) %>实体类
/*最后修改人:
/*最后修改时间:<%= DateTime.Now.ToString("yyyy-MM-dd HH:mm:00") %>
/*版本信息:v3.0
/******************************************************************/

using System;

namespace <%= NameSpace %>
{
public class <%= rule.DealColVar(rule.GetTableName(TableName)) %>Entity
{
<%
//局部变量
ColumnSchemaCollection columns=rule.GetColumnCollection(DataBase,TableName);
string strInitVars="";
string strVarName="";
for(int i=0;i<columns.Count;i++)
{
//Response.Write(" //"+columns[i].Description+"\r\n");
//Response.Write(" private "+rule.GetType(columns[i])+" _"+columns[i].Name+";\r\n");
strVarName="_"+rule.GetPrefix(columns[i])+rule.DealColVar(columns[i].Name);
Response.Write("\t\tprivate "+rule.GetType(columns[i])+" "+strVarName+";\r\n");
strInitVars+="\t\t\t"+strVarName+"="+rule.GetDefaultValue(columns[i])+";\r\n";
}
%>

/// <summary>
/// 构造函数
///</summary>
public <%= rule.DealColVar(rule.GetTableName(TableName)) %>Entity()
{
<%Response.Write(strInitVars);%>
}

<%
//属性
for(int i=0;i<columns.Count;i++)
{
%>

///<summary>
///<%= columns[i].Description %>
///</summary>
<%
string strColName=rule.DealColVar(columns[i].Name);
string strColPrefix=rule.GetPrefix(columns[i]);
%>
public <%= rule.GetType(columns[i]) %> <%= strColName %>
{
get
{
return _<%= strColPrefix+strColName %>;
}
set
{
_<%= strColPrefix+strColName %>=value;
}
}
<%
}
%>
}
}


mapserver 2005-08-07
  • 打赏
  • 举报
回复
我一般用它来生成实体类。
bitsbird 2005-08-07
  • 打赏
  • 举报
回复
首先连接到数据库,双击cst模板,选择sourcetable关键字段,然后点击运行按钮即可
tylike 2005-08-07
  • 打赏
  • 举报
回复
这个试用不如raptier,不如你下一下试试,也是老外的

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧