t4 根据表名数组生成实体

复制代码
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core.dll" #>
<#@ assembly name="System.Data.dll" #>
<#@ assembly name="System.Data.DataSetExtensions.dll" #>
<#@ assembly name="System.Xml.dll" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Data" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.IO" #>
<#@include file="$(ProjectDir)\T4\include\DbHelper.ttinclude"#> 
<#@include file="$(ProjectDir)\T4\include\MultipleOutputHelper.ttinclude"#> 
<#@ output extension="/" #>
<#    
    var manager = Manager.Create(Host, GenerationEnvironment);
    string projectPath = Host.ResolveAssemblyReference("$(ProjectDir)");
   
    foreach(string item in config.TableName )
    {
        manager.StartNewFile(item+".cs");
#>
//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由T4模板自动生成
//       生成时间 <#=            DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")#> by 大聪哥
//     对此文件的更改可能会导致不正确的行为,并且如果
//     重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------

using System;
namespace T4.Entities
{    

    public class <#=            item#>
    {
        <#        foreach(DbColumn column in DbHelper.GetDbColumns(config.ConnectionString, config.DbDatabase, item)){#>

        /// <summary>
        /// <#=                column.Remark#>
        /// </summary>        
        public <#=                column.CSharpType#><#            if(column.CommonType.IsValueType && column.IsNullable){#>?<#            }#> <#=                column.ColumnName#> { get; set; }
        <#        }#> 
      
    }
}

  <#    }#>
<#    manager.EndBlock(); #>
<#    manager.Process(true); #>
<#+
    public class config
    {
        public static readonly string ConnectionString="server=192.168.0.101,1433\\sql2008R2;database=best;uid=sa;pwd=landa";
        public static readonly string DbDatabase="best";
        public static readonly List<string> TableName=new List<string>(){
                "X6_Recruitment_InterviewRegistration",
                "X6_Recruitment_InterviewRegistration_RelativesFriends",
                "X6_Recruitment_InterviewRegistration_EduExperienceList",
                "X6_Recruitment_InterviewRegistration_WorkExperienceList",
                "X6_Recruitment_InterviewRegistration_TitleList",
                "X6_Recruitment_InterviewRegistration_Spouse",
                "X6_Recruitment_InterviewRegistration_OtherMembers",
                "X6_Recruitment_InterviewRegistration_OtherInfo"
                };
    }
#>
复制代码

 

posted @   小小高  阅读(208)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2016-08-16 win7 激活相关
点击右上角即可分享
微信分享提示