T4模板

Posted ecollab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T4模板相关的知识,希望对你有一定的参考价值。

生成接口、类需要指定为局部partial,个性功能在自定义接口、类完成。

 

<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#><#@
 output extension=".cs"#> 
<#
CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);

string inputFile = @"..\\CZBK.ItcastOA.Model\\Model1.edmx";

EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();

EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);

#>
using CZBK.ItcastOA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CZBK.ItcastOA.IDAL
{
   
<#
// Emit Entity Types

foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
    //fileManager.StartNewFile(entity.Name + "RepositoryExt.cs");
    //BeginNamespace(namespaceName, code);    
#>    
    public partial interface I<#=entity.Name#>Dal :IBaseDal<<#=entity.Name#>>
    {
      
    }
<#}#>
    
}

 

以上是关于T4模板的主要内容,如果未能解决你的问题,请参考以下文章

T4 模板

使用 t4 模板生成动态代码

在T4模板中设置断点

无需任何配置即可生成实体代码的 T4 模板

使用与模板存在于同一项目中的 T4 模板中的类型

DataUml Design 教程5-代码模板介绍(甚于T4模板技术)