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=".cs" #>
<#
    var manager = Manager.Create(Host, GenerationEnvironment);
    string projectPath = Host.ResolveAssemblyReference("$(ProjectDir)");

    foreach(string item in config.TableName )
    {
        manager.StartNewFile(projectPath+"Models\\Entity\\"+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=xx;uid=sa;pwd=xx";
        public static readonly string DbDatabase="xx";
        public static readonly List<string> TableName=new List<string>(){
                "a",
                "b"
                };
    }
#>
时间: 2024-10-05 04:40:49

t4 根据表名数组生成实体的相关文章

T4模板_根据DB生成实体类

为了减少重复劳动,可以通过T4读取数据库表结构,生成实体类,用下面的实例测试了一下 1.首先创建一个项目,并添加文本模板: 2.添加 文本模板: 3.向T4文本模板文件添加代码: <#@ template language="C#" debug="True" hostspecific="True" #> <#@ assembly name="System.Data" #> <#@ assembly

mybatis根据数据库表结构自动生成实体类,dao,mapper

首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <!-- mybatis--> <dependency> <group

ABAP根据输入的表名动态生成上传TXT数据的代码

开发技术: 1.文本文件上载技术 2.动态程序代码生成技术 3.ABAP动态程序执行技术 4.TXT文本文件对应用Table字段编辑技术 注意事项: 文件文件编辑过程中时间日期格式为 20060201 120000 表示 2006.02.01 12:00:00 文本文件中不能包含除字符,数字之外的其他特殊符号.假如Table中对应的字段数据为空时,在编辑数据时也对应该列为空. 程序代码:如下 *&--------------------------------------------------

ABAP根据输入的表名动态生成上传EXCEL数据的代码

开发技术: 1.文本文件上载技术 2.动态程序代码生成技术 3.ABAP动态程序执行技术 4.TXT文本文件对应用Table字段编辑技术 注意事项: 文件文件编辑过程中时间日期格式为 20060201 120000 表示 2006.02.01 12:00:00 文本文件中不能包含除字符,数字之外的其他特殊符号.假如Table中对应的字段数据为空时,在编辑数据时也对应该列为空. EXCEL 文件必须带表头. 程序代码:如下 *&-----------------------------------

根据数据中的表生成实体和mapper接口及映射文件

1.创建一个Java工程,工程结构为 2.需要的jar包 链接:http://pan.baidu.com/s/1gd2jNDh 密码:pyux 3.GeneratorSqlmap public class GeneratorSqlmap { public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File

Hibernate生成实体类-手工写法(一)

BaseDao package com.pb.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao { protected Connection conn; protected PreparedSta

tk.mapper 通用 mapper 动态表名查询

1.在实体上使用@Table 注解 默认不加使用驼峰转下划线匹配 @Table(name="table_name") public class Entity{ } 2.实现 IDynamicTableName 接口 public class Entity implements IDynamicTableName{ @Override public String getDynamicTableName() { return "tableName"; } } 可以直接添

T4 生成实体和简单的CRUD操作

<#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core.dll" #> <#@ assembly name="System.Data.dll" #> <#@ assembly name="System.Data.DataS

使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能

在以往的开发过程当中,我会经常选择EF框架作为底层数据结构,EF为我们提供了很好的ado.net数据访问机制,他覆盖了数据链接,linq等多方面内容,而且当我们使用数据库优先或者code first的时候都体现出明显的优势. 一键生成实体,免除手写model的烦恼. 实时更新数据结构,使数据库与model保持高度一致. 提供多种底层数据的访问方法. 优雅的语法,对于我这种喜爱偷懒的程序猿是一大福音. 然而entity framework在vs中生成的.edmx文件,会导致摘要(说明)为空的bug