CodeSmith 创建Ado.Net自定义模版(二)

CodeSmith 创建Ado.Net自定义模版(二)

接第一篇:  CodeSmith 创建Ado.Net自定义模版(一)

建立第二个C# Template: Step2_Model.cst(实体类模版)

代码:

<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="实体类" %>
<%@ Property Name="NameSpace" Type="System.String" Default="Model" Category="Property" Description="命名空间" %>
<%@ Property Name="Author" Type="System.String" Default="Wilson" Category="Property" Description="作者名" %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Optional="True" Category="db" Description="表映射文件" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Assembly Name="System.Data" %>
<%@ Import Namespace="SchemaExplorer" %>
<%@ Import Namespace="System.Data" %>

DataType2CSharpType方法是把数据库的类型转化为C#类型。。。

很简单,几个标签己经在CodeSmith 创建Ado.Net自定义模版(一)中做过介绍

<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Optional="True" Category="db" Description="表映射文件" %>

有这句话,在属性栏中可以看到db大目录下,SourceTable属性,属性框中有个按钮,点击,会弹出选择数据库的窗口

或者先在工具的Scheme Explorer工具栏中,点击ManagerDataSource,添加一个数据库进来。。

这样你就可以选择数据库表

<%=SourceTable.Name%>  :这是你选择的表名

<%=SourceTable.Description%> :这是你数据库中对表的描述

SourceTable.Columns.Count :这是数据库中的列总数

SourceTable.Columns[i].DataType :是索引为i的列类型

SourceTable.Columns[i].Name  : 是索引用i的列名

有必要介始一下下面的一句

<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="实体类" %>

Language:这是表示你编写输出和函数使用的语言 (可以使用C#,VB等语言)

TargetLanguage:这是你生成代码的语言

ResponseEncoding:这是编码输出的格式

还可以设置:Debug,Src等属性

PS:CodeSmith Studio中有智能提示,其它属性,大家可以自己试试

后面还有两篇(数据访问层、业务逻辑层),有兴趣的可以看看。

没有太多内容了,只有实现了,前两篇如果看完,

编写一个CodeSmith模版应该是没有问题了,

相关篇张:

CodeSmith 创建Ado.Net自定义模版(一)

CodeSmith 创建Ado.Net自定义模版(三)

CodeSmith 创建Ado.Net自定义模版(四)     PS:第四篇有CodeSmith直接生成文件夹及文件的提示,如果需要自行扩展

源码下载

源码下载二

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏飞雪无情的博客

Android HttpClient Session保持

现在单机版本的App已经不多了,基本上都会和服务器进行通信。Android提供Http访问的方式有两种,一种是HttpClient,一种是UrlConnecti...

14820
来自专栏圣杰的专栏

RabbitMQ知多少

1.引言 RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适。RabbitMQ 是一个由 Erlan...

28870
来自专栏游戏杂谈

Linux下使用rsync同步文件

遇到的问题是几台游戏服务器,有一台新的服务器之前已经copy(Linux的scp命令)过文件上去,但在测试的过程中发现还是图片无法正常不显示出来,然后用http...

60020
来自专栏.NET技术

.net core实践系列之SSO-跨域实现

接着上篇的《.net core实践系列之SSO-同域实现》,这次来聊聊SSO跨域的实现方式。这次虽说是.net core实践,但是核心点使用jquery居多。

17430
来自专栏北京马哥教育

Redis(2.8版本)配置文件参数中文详解

#daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes daemonize yes # 当 r...

33160
来自专栏Elasticsearch实验室

Elasticsearch 底层系列之写入解析

Elasticsearch(ES)是一个基于Lucene的近实时分布式存储及搜索分析系统,其应用场景广泛,可应用于日志分析、全文检索、结构化数据分析等多...

49600
来自专栏腾讯云数据库团队的专栏

Elasticsearch源码分析-写入解析

Elasticsearch(ES)是一个基于Lucene的近实时分布式存储及搜索分析系统,其应用场景广泛,可应用于日志分析、全文检索、结构化数据分...

1.2K50
来自专栏雪胖纸的玩蛇日常

django 通过ajax完成登录

97470
来自专栏程序员同行者

redis 优化

43430
来自专栏有趣的django

Django+xadmin打造在线教育平台(三)

代码 github下载 五、用户注册 主要实现功能 用户输入邮箱、密码和验证码,点注册按钮 如果输入的不正确,提示错误信息 如果正确,发送激活邮件,用户...

1.1K90

扫码关注云+社区

领取腾讯云代金券