使用T4模板同时生成多个类文件

 

 

 

 

 

 

 

 

 

代码:

<#@ 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 = @"..\\OA.Model\\DataModel.edmx";

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

EntityFrameworkTemplateFileManager fileManager=EntityFrameworkTemplateFileManager.Create(this);
#>
//------------------------------------------------------------------------------
// <auto-generated>
//     此代码已从模板生成。
//
//     手动更改此文件可能导致应用程序出现意外的行为。
//     如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
    <#
    foreach(EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e=>e.Name))
    {
        fileManager.StartNewFile("I"+entity.Name+"Dal" + ".cs");
    #>        

using OA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OA.IDAL
{
    public partial interface I<#=entity.Name#>Dal : IBaseDal<<#=entity.Name#>>
    {
                
    }
}    

    <#}#>
    <#
    
        fileManager.Process();
    #>
View Code

 

posted @ 2019-11-12 20:57  白菜园子呀  阅读(523)  评论(0编辑  收藏  举报