codesmith使用简介摘自互联网_第1页
codesmith使用简介摘自互联网_第2页
codesmith使用简介摘自互联网_第3页
codesmith使用简介摘自互联网_第4页
codesmith使用简介摘自互联网_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

cCodeSmith先从Internet或其他地方获得CodeSmith的安装文件,原版安装包可以从. CodeSmith4.0为例:获取安装包,双击安装文件,进入欢迎界点“Next”,进入协议界面选择接受协议内容,进入安装选择界面,在安装选择界面可以选择安装 点“Next”,点“Install”,CodeSmith c 的版本功能有限制,要获得完整的功能, 在程序组中选择CodeSmith,选择,进入点“Register”,进入填 信息页面点“Register”,选择使用 完成激活,点“Continue”进入填写激活码界面填写激活码,点“Continue”完 cCodeSmith 上的新建C#Tem te:,产生一个普通C#模板。 c

。CodeSmith c模板中使用了DatabaseSchema和TableSchema,如何给这种属性赋值。CodeSmith c使用的工具:CodeSmith4.0,C#,NotePad,SqlServer2000编程语言代码,以及各种标记语言的代码,CodeSmith良好的数据库设计:CodeSmith初步.NetCodeSmith.Net模板:CodeSmith部分包括CodeTemte,Property,Assembly,Import,Register,Map,事求是的写吧,因为CodeSmith需要这个属性来给代码 SrcInherits:这两个属性非常接近,都是我们要写的模板的父类,Src文件名称路径,Inherits<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="产生实体类"ResponseEncoding="UTF-8"%>PropertyProperty属Bool,True:可选,False:AssemblyAssembly属程序集名称,不包括.dll 程序集: Import类似.Net工程中的使用命名空间,类似于usingSystem;RegisterTem c在输出的部分可以使用在部分定义的Property的参数,其实可以将CodeSmithStringPropertyCodeSmithNet10<%@CodeTemteLanguage="C#"TargetLanguage="Text"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere."%><%@PropertyName="TestString"Type="System.String"Default="SomeValue"Optional="True"Category="Strings"Description="Thisisasamplestringproperty."%><%for(int{}0123456789Response,是不是很熟悉?哦,那...,Asp.NetResponse,啥意思嘛?你知道的,不就是CodeSmithResponseResponseConsole。<%for(int10第<%Response.Write(i);%>次:<%Response.Write(TestString);%>forResponse.Write(Asp.Net<%@CodeTemteLanguage="C#"TargetLanguage="Text"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere."%><%@PropertyName="TestString"Type="System.String"Default="SomeValue"Optional="True"Category="Strings"Description="Thisisasamplestringproperty."%><%for(int第<%=i%>请大家完成一个小作业:在Internet上有一个,这个上包Url /novel/disy.aspx?id=1234,id的数值从1到10000,请大Url c函数部分必须包括在<scriptrunat="tempublicintSum(intx,int{return} cSchemaExplorer cSchemaExplorer:TableSchema,ColumnSchemausingusingSystem.Collections.Generic;usingSystem.Text;namespacecom.xa{publicclass{privatestringprivatebool privateintage;publicstring{get{returnname;}set{name=value;}publicbool{get{return ;}set =value;}publicint{get{returnage;}set{age=value;}}}}SqlC#Pascal私有字段部分有些内容是不变的,字段的修饰符为“private”,字段 public数据类型属性名{get{return字段名称;}set{字段名称=value}从上回书中,我们了解到,TableSchema<%@CodeTemteLanguage="C#"TargetLanguage="C#"Src=""Inherits=""Debug="False"Description="产生实体类"ResponseEncoding="UTF-8"%><%@PropertyName="SourceTable"Type="SchemaExplorer.TableSchema"Default=""Optional="False"Category="Context"Description="源表"%><%@AssemblyName="SchemaExplorer"<%@ImportNamespace="SchemaExplorer"<%@AssemblyName="System.Data"<%@ImportNamespace="System.Data"%>usingSystem;namespacecom.xa{publicclass{<%foreach(ColumnSchemacolumninprivate<%=column.SystemType%><%foreach(ColumnSchemacolumninpublic<%=column.SystemType%>{get{return<%=column.Name%>;}}}} c第二:这个类的类名是,即使产生了这个类,还得修改。publicstringToCamel(strings){return}PascalpublicstringToPascal(string{return}private<%=column.SystemType%>public<%=column.SystemType%>{get{return<%=ToCamel(column.Name)%>;}}这个…,这个…,(…真,难道让我去处理不规则名词的复数到publicstringGetClassName(TableSchema{strings=table.Name;{returnToPascal(s.Substring(0,s.Length-}return}将“”换了classModelEntity,可是到底选择哪一个什么?这还真是个问题,这板上加个参数,也就是加一个Property嘛,让他自己填,他爱填啥就是在部分添加<%@PropertyName="NameSpace"Type="System.String"Default="Model"Optional="False"Category=""Description=""Editor=""EditorBase=""Serializer=""%>Default户,也就是让我们,如此好事,为何不做?!namespacenamespace cMSILC#CTS精的问题,搞死人了。)啊,这个问题啊,先说前提,CodeSmithSystem.Stringstring,不过,常用的数据类型就不多的几种,可publicstringGetCSDataType(ColumnSchema{switch{caseDbType.AnsiString:returncaseDbType.AnsiStringFixedLength:return"string";caseDbType.Binary:return"byte[]";caseDbType.Boolean:return"bool";caseDbType.Byte:return"byte";caseDbType.Currency:return"decimal";caseDbType.Date:return"DateTime";caseDbType.DateTime:return"DateTime";caseDbType.Decimal:return"decimal";caseDbType.Double:return"double";caseDbType.Guid:return"Guid";caseDbType.Int16:return"short";caseDbType.Int32:return"int";caseDbType.Int64:return"long";caseDbType.Object:return"object";caseDbType.SByte:return"sbyte";caseDbType.Single:return"float";caseDbType.String:returncaseDbType.StringFixedLength:return"string";caseDbType.Time:return"TimeSpan";caseDbType.UInt16:return"ushort";caseDbType.UInt32:return"uint";caseDbType.UInt64:return"ulong";caseDbType.VarNumeric:return"decimal";{return"UNKNOWN"+}}}大老啊,你…你…你我,这里明明没有用到“System.String”和其他的CTS中的类型啊,人也不能这样啊。 如果咱们用“System.String”CTScasecaseSystemTypeDataTypeCTSSQLCTSSQLDataTypeVS.Net2005switchcasecase小子,悟了吗?要不要为师给你来个当头 cExcel、Word、Html、XmlExcel、WordHtmlXml,HtmlHtmlYYY2Y5Y1<%@CodeTemteLanguage="C#"TargetLanguage="Html"Src=""Inherits=""Debug="False"Description="Temtedescriptionhere." <%@PropertyName="Developer"Type="String"Default=""Optional="False"Category="Context"Description=OnChanged=""EditorEditorBase=""Serializer=""%><%@PropertyName="SourceDBType="SchemaExplorer.DatabaseSchema"Default=""Optional="False"Category="Context"Description="数据库名称"OnChanged=""Editor=""EditorBase=""Serializer=""%><%@AssemblyName="SchemaExplorer"<%@AssemblyName="System.Data"<%@ImportNamespace="System.Data" ImportNamespace="SchemaExplorer"<%foreach(TableSchematablein<tableborder="1"<capti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论