T4模板的使用45.docxVIP

  • 8
  • 0
  • 约2.32万字
  • 约 20页
  • 2018-05-02 发布于贵州
  • 举报
T4模板的使用第一步,打开vs2013,在DAL文件夹上右击,添加,新建项第二步,在弹出的页面中选择文本模板,然后修改文本的名称,之后点击添加第三步,最终的结果如下:第四步,做如下的修改#@ template language=C# debug=false hostspecific=true#//注释:模板的语言为C##@ include file=EF6.Utility.CS.ttinclude#//注释:引用EF6#@ output extension=.cs #//注释:最终生成的文件时cs格式的#const string inputFile = @..\WebApp.Models\DataEntity.edmx;//注释:找到数据库生成的模型,以后根据这个数据库中的表生成文件var textTransform = DynamicTextTransformation.Create(this);var code = new CodeGenerationTools(this);var ef = new MetadataTools(this);var typeMapper = new TypeMapper(code, ef, textTransform.Errors);varfileManager = EntityFrameworkTemplateFileManager.Create(this);var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile);var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);##WriteHeader(codeStringGenerator, fileManager);//使用foreach循环遍历ItemCollection.GetItemsEntityType集合foreach (var entity in typeMapper.GetItemsToGenerateEntityType(itemCollection)){fileManager.StartNewFile(entity.Name + Repository.cs);//注释:最终生成的文件的样子是数据库中的表名Repository.cs#using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace WebApp.DAL{public class #=entity.Name#Repository : BaseRepositoryWebApp.Models.#=entity.Name# { }}#}fileManager.Process();##+public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager){fileManager.StartHeader();#//// auto-generated// #=CodeGenerationTools.GetResourceString(Template_GeneratedCodeCommentLine1)#//// #=CodeGenerationTools.GetResourceString(Template_GeneratedCodeCommentLine2)#// #=CodeGenerationTools.GetResourceString(Template_GeneratedCodeCommentLine3)#// /auto-generated//#=codeStringGenerator.UsingDirectives(inHeader: true)##+fileManager.EndBlock();}public void BeginNamespace(CodeGenerationTools code){var codeNamespace = code.VsNamespaceSuggestion();if (!String.IsNullOrEmpty(codeNamespace)) {#namespace #=code.EscapeNamespace(codeNamespace)#{#+PushIndent

文档评论(0)

1亿VIP精品文档

相关文档