CodeSmith----02.生成数据库表对应实体
来源:互联网 发布:数据采集卡安装 编辑:程序博客网 时间:2024/04/30 00:18
<%-- 基本设置 --%><%@ Template Language="C#" TargetLanguage="Text" %><%-- 引用程序集 --%><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%-- 变量 --%><%@ Property Name="NameSpace" Type="System.String" Description="命名空间" %><%@ Property Name="ClassDescription" Type="System.String" Description="类描述信息" %><%@ Property Name="Author" Type="System.String" Default="Jun" Description="作者" %><%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Description="要访问的表名" %><%-- 模板内容 --%>/****************************************** 文件名: <%=SourceTable %>.cs** 作者: <%=Author %>** 创建时间: <%= DateTime.Now.ToLocalTime() %>****************************************/using System; namespace <%=NameSpace %>{ /// <summary> /// <%=ClassDescription %> /// </summary> public class <%=SourceTable.Name %> { <%foreach(var item in SourceTable.Columns){ %> <%="#region "+item.Name %> <%="/// <summary>"%> <%="/// "+item.Description %> <%="/// </summary>"%> <%=GetPropertyStr(item)%> <%="{" %> <%="set;" %> <%="get;" %> <%="}" %> <%="#endregion\r\n" %> <%} %> }}<%-- 内部函数 --%><script runat="template"> public string GetPropertyStr(ColumnSchema column) { switch(column.SystemType.ToString().Substring(7)){ case "Int32": { return "public int"+" "+column.Name; break; } case "Boolean": { return "public bool"+" "+column.Name; break; } case "DateTime": { return "public DateTime"+" "+column.Name; break; } default : { return "public "+column.SystemType.ToString().Substring(7).ToLower() +" "+column.Name; } } }</script>
生成:
/****************************************** 文件名: dbo.Student.cs** 作者: Jun** 创建时间: 2013/8/11 11:14:33****************************************/using System; namespace Jun.Dream.Test.EntityModel{ /// <summary> /// 学生表 /// </summary> public class Student { #region StuNo /// <summary> /// 学号 /// </summary> public string StuNo { set; get; } #endregion #region Name /// <summary> /// 姓名 /// </summary> public string Name { set; get; } #endregion #region ClassId /// <summary> /// 班级编号 /// </summary> public string ClassId { set; get; } #endregion #region Sex /// <summary> /// 性别 /// </summary> public bool Sex { set; get; } #endregion #region Birthday /// <summary> /// 出生日期 /// </summary> public DateTime Birthday { set; get; } #endregion }}