使用CodeSmith生成Entity实体代码

d首先我们来暗转CodeSmith这个生成工具

网上有很多下载地址,比如:https://www.jb51.net/softs/558502.html#downintro2  包含破解教程

 

接下来,我们开始代码工作

1.创建一个空白的.cst文件使用CodeSmith生成Entity实体代码点击File→New→Bank Template.

2.点击右侧的新建数据库连接选项使用CodeSmith生成Entity实体代码,点击Add使用CodeSmith生成Entity实体代码,我的数据库使用的是MS SQL使用CodeSmith生成Entity实体代码,接下来就是连接数据库的信息填写了使用CodeSmith生成Entity实体代码

 

3.数据库连接成功后,使用CodeSmith生成Entity实体代码点击编译按钮,编写以下代码

<%@ 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="实体类所在的命名空间" %>

<%--@ Map Name="Csharp" Src="System-CSharp"--%>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>

<%--*本代码由代码生成器自动生成,请不要更改此文件的任何代码。
*生成时间:<%= DateTime.Now.ToLocalTime() %>
*生成者:<%= Tony %>--%>

using System;
namespace <%= this.NameSpace+".Entity.Entities" %>
{
    ///<summary>
    ///表<%= this.SourceTable.Name %>的实体类
    ///</summary>
    public class <%= this.SourceTable.Name %>
    {
        <% foreach(ColumnSchema column in this.SourceTable.Columns){%>    
         <%--生成get set 方法--%>
        /// <summary>
        /// <%= string.IsNullOrEmpty(column.Description)?StringUtil.ToCamelCase(column.Name):column.Description  %>
        /// </summary>
        public virtual <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>
        {
            get;set;
        }
        
        <%}%>
    }
}

  ,并选择数据库某一张表使用CodeSmith生成Entity实体代码,这个过程基本完成了,执行最后一步使用CodeSmith生成Entity实体代码生成你所需要的c#代码使用CodeSmith生成Entity实体代码,保存后,就可以使用啦,当然生成的代码只是加快了一些无聊的工作进度,实际所需格式还要按照自己需求来更改。

 

上一篇:CodeSmith连接MySql数据库


下一篇:在DirectX12中使用Instancing