T4模板快速生成代码:

以快速生Dal文件为例,下面为T4模板文件的内容

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ 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 = @"..\\MIS.Model\\MIS.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();
EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);
#>
using MIS.IDal;
using MIS.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MIS.Dal
{
<#foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name)){#>public partial class <#=entity.Name#>Dal : BaseDal<<#=entity.Name#>>, I<#=entity.Name#>Dal{}
<#}#>
}

说明:
<# C#代码 #>:#号中间的内容为C#代码,正常的C#怎么写这里就怎样写。

<#= 输出值 #>:输出一个C#代码中能得到的值。

在这些之外的都是原样输出,包括空格。

使用时只需要把以上模板的inputFile改成自己的,其它原样输出的根据自己情况把现成的Dal文件照常复制出来就行了(没有的要以自己写一个出来用T4模板生成后删除就行了)

生成后的代码如下:

 1 using MIS.IDal;
 2 using MIS.Model;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.Linq;
 6 using System.Text;
 7 using System.Threading.Tasks;
 8
 9 namespace MIS.Dal
10 {
11     public partial class sys_ActionDal : BaseDal<sys_Action>, Isys_ActionDal
12     {
13     }
14     public partial class sys_ManagerDepartmentDal : BaseDal<sys_ManagerDepartment>, Isys_ManagerDepartmentDal
15     {
16     }
17     public partial class sys_PermissionDal : BaseDal<sys_Permission>, Isys_PermissionDal
18     {
19     }
20     public partial class sys_UserDal : BaseDal<sys_User>, Isys_UserDal
21     {
22     }
23 }

转载于:https://www.cnblogs.com/jonfan/p/7223283.html

T4模板:MVC中用T4模板快速生成代码相关推荐

  1. IOS开发基础之使用XCode12快速生成代码段

    IOS开发基础之使用XCode创建代码片段 这里我们选择的是XCode版本是12.3 版本,高版本 XCode12.3 是2020年12月份发布的最新的版本 务必学会使用快速生成代码,可以节约开发时间 ...

  2. xcode 快速生成代码块

    在xcode编写代码的时候,有很多都是类型相同的代码,如getter setter方法,如果对象的成员变量较多时,重复写getter setter方法就会很繁琐.但是xcode为我们提供了快速生成代码 ...

  3. 使用 Velocity 模板引擎快速生成代码

    Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中.特别是在如今特别流行的 MVC 架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加 ...

  4. WebStorm按Tab建快速生成代码模块

    WS中,比如调试每次都要写的console.log(xxx);每次都要敲一遍,还有if模块,for循环模块,难道没有快捷键,可以生成代码模块吗,答案是"有". 操作步骤如下(汉化版 ...

  5. Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码

    前言:本篇文章简单讲述了HTML和CSS中的Emmet语法,更多详细语法内容可以参见此文章 https://code.z01.com/Emmet/ Emmet 语法 Emmet语法的前身是Zen co ...

  6. Sublime Text3 自定义快速生成代码

    转载自: https://blog.csdn.net/lihchweb/article/details/77883101 依次打开 Tools > Developer(开发者选项) > n ...

  7. eclipse功能template(模板)学习。e.g : 快速在代码中插入时间戳

    说些题外话. 自己属于半路出家入行码农的类型,基础算不上好,需要大量的时间夯实. 幸好,赶上网易云课堂开放.可以花费些时间,来好好学习一下. 在此,也是特别推荐有心学习coding的同学,可以去看看. ...

  8. java中的快速生成代码

    (1)getter setter 方法 通常访问一个封装好的对象的属性的时候 优点:1.既保证了对封装对象的访问 2.而这些可访问的项是可控的 (2)复写toString方法 要查看对象中各个属性的值 ...

  9. vs code html table,vs Code 快速生成代码

    之前偶然了解到能用公式快速生html代码 查阅资料后就有了下面的小小总结 U•ェ•*U 例如: 在vs code 中输入 div.cube>div.cube_$*6 摁下回车键就会生成如下代码 ...

最新文章

  1. swift 运算符和控制流程
  2. pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...
  3. Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
  4. (JAVA)String常用的方法
  5. html img 坐标,Html img 标签
  6. [JavaWeb-Bootstrap]CSS样式和JS插件
  7. LeetCode 1025. 除数博弈(动态规划)
  8. 给i茅台APP提几个建议
  9. MTK 驱动(64)---Mtk touch panel驱动/TP驱动详解
  10. 使用Visual Studio Code + Node.js搭建TypeScript开发环境
  11. 【转】async await 的前世今生(Updated)
  12. 机械设计基础课程设计详细步骤(说明书)
  13. Leetcode #1 Two Sum
  14. mac pro 2015 升级1T固态硬盘极简版本(三星970 evo plus)
  15. java es 如何查询_使用elasticsearch的java-api进行查询
  16. Permit.js – 用于构建多状态原型的 jQuery 插件
  17. 达内python学费22000_交钱了,学了3天Python编程,我想放弃了......
  18. 读《白鹿原》有感其二之乡约小谈
  19. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(19):不定积分(补充知识)
  20. 利用matlab对纯电动汽车在nedc工况下的行驶阻力进行计算

热门文章

  1. redis配置_Redis配置大全(三)
  2. paradox 修改字段长度_400字的作文就只能写400字?刘强东:这不是笑话
  3. js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面
  4. linux的ftp轮询上传文件,Android中实现异步轮询上传文件
  5. shell如何解决mysql交互式_shell脚本与mysql交互方法汇总
  6. 孤灯php加密,PHP实现观察者模式
  7. 办公自动化系统开发实例导航 源码_本色世界源码搭建(系统开发)
  8. linux系统安装金蝶_linux 操作系统安装配置vnc
  9. cpc卡内计费信息异常包括_妈妈网广告投放怎么做、妈妈网广告|妈妈网信息流广告投放有哪些计费方式?...
  10. DjangoAPP子路由