T4模板的一些配置(从EF数据更新)
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ include file="EF.Utility.CS.ttinclude"#> //引进tt模板的命名空间 <#@ output extension=".cs" #> //输出cs文件 <#
///这下面其实不知道是什么意思,第一次接触T4,主要是从EF的实体数据中生成对应的数据 CodeGenerationTools code=new CodeGenerationTools(this); MetadataLoader loader=new MetadataLoader(this); CodeRegion region=new CodeRegion(this,1); MetadataTools ef=new MetadataTools(this); string inputFile=@"..\\DataModel.edmx"; EdmItemCollection ItemCollection=loader.CreateEdmItemCollection(inputFile); string namespaceName=code.VsNamespaceSuggestion(); EntityFrameworkTemplateFileManager fileManager=EntityFrameworkTemplateFileManager.Create(this); #>
///===以下是示例,上面的是基础头的配置===/// using EFDAL; using IDAL; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Personal.Practice.OA.DALFactory { public partial class DbSession:IDbSession { <#foreach(EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e=>e.Name)) {#> public I<#=entity.Name#>DAL <#=entity.Name#>Dal {get{ return StaticDalFactory.Get<#=entity.Name#>Dal(); }} <#}#> } }
模板的表头配置