代码生成器 CodeSmith 的使用(五)
来源:互联网 发布:steam挂卡软件 编辑:程序博客网 时间:2024/05/07 14:49
在上一篇的版本中,我们使数据库中的单个表 生成 PetaPoco 构架下的 ORM 映射,这次呢,要使数据库中的所有的表 生成 PetaPoco 构架下的 ORM 映射。
首先来看完整的 Camel 规则模板:
<p><%-- Name: Copyright © Sun 2013-2014 All rights reserved Contact me: <a target=_blank href="mailto:Sunnydayhu@163.com">Sunnydayhu@163.com</a>Author: SpringFileldDescription: 遍历数据库中所有的表,并映射成 PetaPoco类的 orm DateTime: 2014-07-31--%></p><p><%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %><%@ Property Name="SourceData" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Table that the object is based on." %><%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%@ Assembly Name="xftwl.Infrastructure" %><%@ Import Namespace="xftwl.Infrastructure" %></p><p><%foreach( var tb in SourceData.Tables){ %></p><p> [TableName("<%=tb.Name %>")] <%foreach (var pk in tb.PrimaryKey.MemberColumns){ %> [PrimaryKey("<%= pk.Name%>")] <%} %> [ExplicitColumns] public partial class <%=tb.Name %> { <%foreach( var cl in tb.Columns) {%> [Column] public <%=CSharpAlias[cl.SystemType.FullName]%> <%=StringUtil.ToCamelCase(cl.Name)%> { get; set; } <%} %> } <%} %></p>
Pascall 规则:
<%-- Name: Copyright © Sun 2013-2014 All rights reserved Contact me: Sunnydayhu@163.comAuthor: SpringFileldDescription: 遍历数据库中所有的表,并映射成 PetaPoco类的 orm DateTime: 2014-07-31--%><%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %><%@ Property Name="SourceData" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Table that the object is based on." %><%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%@ Assembly Name="xftwl.Infrastructure" %><%@ Import Namespace="xftwl.Infrastructure" %><%foreach( var tb in SourceData.Tables){ %> [TableName("<%=tb.Name %>")] <%foreach (var pk in tb.PrimaryKey.MemberColumns){ %> [PrimaryKey("<%= pk.Name%>")] <%} %> [ExplicitColumns] public partial class <%=tb.Name %> { <%foreach( var cl in tb.Columns) {%> [Column] public <%=CSharpAlias[cl.SystemType.FullName]%> <%=StringUtil.ToPascalCase(cl.Name)%> { get; set; } <%} %> } <%} %>
原生的:
<%-- Name: Copyright © Sun 2013-2014 All rights reserved Contact me: Sunnydayhu@163.comAuthor: SpringFileldDescription: 遍历数据库中所有的表,并映射成 PetaPoco类的 orm DateTime: 2014-07-31--%><%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %><%@ Property Name="SourceData" Type="SchemaExplorer.DatabaseSchema" Category="Context" Description="Table that the object is based on." %><%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%@ Assembly Name="xftwl.Infrastructure" %><%@ Import Namespace="xftwl.Infrastructure" %><%foreach( var tb in SourceData.Tables){ %> [TableName("<%=tb.Name %>")] <%foreach (var pk in tb.PrimaryKey.MemberColumns){ %> [PrimaryKey("<%= pk.Name%>")] <%} %> [ExplicitColumns] public partial class <%=tb.Name %> { <%foreach( var cl in tb.Columns) {%> [Column] public <%=CSharpAlias[cl.SystemType.FullName]%> <%=cl.Name%> { get; set; } <%} %> } <%} %>
0 0
- 代码生成器 CodeSmith 的使用(五)
- 代码生成器 CodeSmith 的使用(一)
- 代码生成器 CodeSmith 的使用(二)
- 代码生成器 CodeSmith 的使用(三)
- 代码生成器 CodeSmith 的使用(四)
- 代码生成器 CodeSmith 的使用(六)
- 用CodeSmith 代码生成器 生成代码
- James写的CodeSmith模板(五)
- CodeSmith基础(五)
- CodeSmith基础(五)
- CodeSmith基础(五)
- CodeSmith基础(五)
- 使用CodeSmith 生成代码
- 脚本是个好东西,要搞出一个类似CodeSmith的代码生成器真的很EASY
- Codematic2(动软.Net代码生成器)与CodeSmith区别与联系
- JAVA - 2、String 类的使用(五)--字符串生成器
- codeSmith的使用教程
- 使用 CodeSmith 的心得体会
- adb 命令
- 老码农教你学英语
- Java NIO使用及原理分析(二)
- 基础函数:YUV与RGB的转换
- AngularJS notes -- from 《AngularJS权威教程》(1)
- 代码生成器 CodeSmith 的使用(五)
- เว็บบาคาร่าที่มีโปรโมชั่นและไม่ต้องลงโปรแกรม
- iOS 集成 Cordova(phoneGap ) 注意事项
- big data相关的技术文章
- SCADA系统
- 老码农教你学英语:补充一些英语学习素材
- VMware(安装ghostxp图文教程)
- Socket(Udp)通信客户端
- 仿iphone带进度的进度条