t4 根据表名数组生成实体
Posted 小小高
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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" }; } #>
以上是关于t4 根据表名数组生成实体的主要内容,如果未能解决你的问题,请参考以下文章
使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能