CodeSmith使用方法

本文介绍使用CodeSmith工具通过自定义模板来自动生成C#实体类的过程。文章详细展示了如何设置数据源、编写模板并利用SchemaExplorer来获取表结构信息,最终实现根据数据库表结构动态生成对应的实体类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、按Ctrl+Shift+D调出Schema Explorer,设置数据源

2、编写CodeSmith模版

3、点击Build进行调试


<%----------------------------

      例:实体类模板
-------------------------------%>
<%@ CodeTemplate  Language="C#"  TargetLanguage="C#"  ResponseEncoding="UTF-8"  Src=""  Inherits=""  Debug="False"  Description="Create C# Entity" %>

<%@ Property Name="table" Type="SchemaExplorer.TableSchema" Optional="True" Category="Context" %>
<%@ Property Name="NameSpace" Type="System.String" Optional="False" Category="" Default="Sys.Model" %>
<%@ Property Name="ClassName" Type="System.String" Optional="False" Category="" %>


<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%
        //声明关键字段 : Primary Key 字段
string idKey = table.PrimaryKey.MemberColumns[0].Name;
%>
<script runat="template">
private string OneToUpper(string str)
{
    return str.Substring(0,1).ToUpper()+str.Substring(1);
}
</script>
using System;
using Sys.Entity;


namespace <%= NameSpace %>
{
[Sys.Entity.EntityAttribute(TableName="<%= OneToUpper(table.Name) %>", PrimaryKeyName="<%= OneToUpper(idKey) %>")]
public class <%= ClassName %>
        {
<%foreach(ColumnSchema col in table.Columns){ %>
public string <%= OneToUpper(col.Name) %> {get; set;} 
<%}%>
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值