zoukankan      html  css  js  c++  java
  • T4模板在项目中的使用

    建立T4模板方法:右键添加新项->文本模板

    使用T4模板生成Dal层代码如下:

    <#@ 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);
    //修改当前tt模板相对应的edmx模型的位置
    string inputFile = @"..\Heima7.OA.Model\DataModel.edmx";
    
    EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
    string namespaceName = code.VsNamespaceSuggestion();
    
    EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);
    
    #>
    
    using Heima7.OA.Model;
    
    namespace Heima7.OA.EFDAL
    {
       
    <#
    foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
    {    
    #>    public partial class <#=entity.Name#>Dal :BaseDal<<#=entity.Name#>>,IDAL.I<#=entity.Name#>Dal
        {
        } 
    <#}#>
    
    }

     

    ZJ:找规律,然后利用<#= #>把代码嵌套进去。

    以上是对【利用了ADO.NET实体数据模型项目的】一些总结,T4不仅可以这样玩,还可以直接连接数据库,然后根据数据库里面的表自动生成相对应的实体类,可怕吧,哈哈,后面文章有讲解~

    代码下载:http://pan.baidu.com/s/1bAP0n0

  • 相关阅读:
    hdu 1408 acdearm "Money, Money, Money"
    hdu 1284 钱币兑换问题
    hdu 1248 寒冰王座
    hdu 1203 I NEED A OFFER!
    acdream 1726 A Math game
    csu 1640 机智的刷题方式(完全背包)
    NYOJ 734 奇数阶魔方
    bestcoder Round #79 (div.2)jrMz and angles
    南阳oj 题目6 喷水装置(一)
    小区的路
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/5370465.html
Copyright © 2011-2022 走看看