用CodeSmith生成.net三層中的Modul實體類


CodeSmith是一個非常強大的代碼生成工具,本文只介紹怎么生成.net三層中Modul實體類而不涉及CodeSmith的語法部分說明,感興趣的可以自己在網上查找寫關於CodeSmith的用法。

首先來幾張截圖:

1.打開CodeSmith Generator Studio新建一個數據庫連接本文用的MS sql數據庫作為測試

 

 

 

 

2.新建一個C#模板文件名稱自定義(本文名稱為Modul-net2.0)然后將下面的代碼copy到文件中

<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Debug="False" Description="生成數據庫實體" %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="屬性" Description="要生成實體的數據表" %>
<%@ Property Name="NameSpace" Type="System.String" Optional="False" Default="Modul" Category="屬性" Description="實體類所在的命名空間" %>
<%@ Property Name="opuser" Type="System.String" Default="wlitsoft" Optional="False" Category="屬性" Description="請輸入您的名字" %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
/*
*本代碼由代碼生成器自動生成,請不要更改此文件的任何代碼。
*生成時間:<%= DateTime.Now.ToLocalTime() %>
*生成者:<%= opuser %>
*/
using System;
namespace <%= this.NameSpace %>
{
    ///<summary>
    ///<%= this.SourceTable.Name %>的實體類
    ///</summary>
    public class <%= this.SourceTable.Name %>
    {
        <%--生成私有字段.net2.0--%>
        <% foreach (ColumnSchema column in this.SourceTable.Columns) {  %>
        private <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToCamelCase(column.Name) %>;
        <% } %>
    
        <% foreach(ColumnSchema column in this.SourceTable.Columns){%>    
         <%--生成get set 方法--%>
        /// <summary>
        /// <%= column.Description %>
        /// </summary>
        public <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>
        {
            get { return <%= StringUtil.ToCamelCase(column.Name) %>; }
            set { <%= StringUtil.ToCamelCase(column.Name) %> = value; }
        }
        <%}%>
        
    }
}

 

3.打開CodeSmith Generator Explorer會看到如下

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM