T4模板:MVC中用T4模板快速生成代码
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模板快速生成代码相关推荐
- IOS开发基础之使用XCode12快速生成代码段
IOS开发基础之使用XCode创建代码片段 这里我们选择的是XCode版本是12.3 版本,高版本 XCode12.3 是2020年12月份发布的最新的版本 务必学会使用快速生成代码,可以节约开发时间 ...
- xcode 快速生成代码块
在xcode编写代码的时候,有很多都是类型相同的代码,如getter setter方法,如果对象的成员变量较多时,重复写getter setter方法就会很繁琐.但是xcode为我们提供了快速生成代码 ...
- 使用 Velocity 模板引擎快速生成代码
Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将更多的精力投入在了重复的相似劳动中.特别是在如今特别流行的 MVC 架构模式中,软件各个层次的功能更加独立,同时代码的相似度也更加 ...
- WebStorm按Tab建快速生成代码模块
WS中,比如调试每次都要写的console.log(xxx);每次都要敲一遍,还有if模块,for循环模块,难道没有快捷键,可以生成代码模块吗,答案是"有". 操作步骤如下(汉化版 ...
- Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码
前言:本篇文章简单讲述了HTML和CSS中的Emmet语法,更多详细语法内容可以参见此文章 https://code.z01.com/Emmet/ Emmet 语法 Emmet语法的前身是Zen co ...
- Sublime Text3 自定义快速生成代码
转载自: https://blog.csdn.net/lihchweb/article/details/77883101 依次打开 Tools > Developer(开发者选项) > n ...
- eclipse功能template(模板)学习。e.g : 快速在代码中插入时间戳
说些题外话. 自己属于半路出家入行码农的类型,基础算不上好,需要大量的时间夯实. 幸好,赶上网易云课堂开放.可以花费些时间,来好好学习一下. 在此,也是特别推荐有心学习coding的同学,可以去看看. ...
- java中的快速生成代码
(1)getter setter 方法 通常访问一个封装好的对象的属性的时候 优点:1.既保证了对封装对象的访问 2.而这些可访问的项是可控的 (2)复写toString方法 要查看对象中各个属性的值 ...
- vs code html table,vs Code 快速生成代码
之前偶然了解到能用公式快速生html代码 查阅资料后就有了下面的小小总结 U•ェ•*U 例如: 在vs code 中输入 div.cube>div.cube_$*6 摁下回车键就会生成如下代码 ...
最新文章
- swift 运算符和控制流程
- pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...
- Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
- (JAVA)String常用的方法
- html img 坐标,Html img 标签
- [JavaWeb-Bootstrap]CSS样式和JS插件
- LeetCode 1025. 除数博弈(动态规划)
- 给i茅台APP提几个建议
- MTK 驱动(64)---Mtk touch panel驱动/TP驱动详解
- 使用Visual Studio Code + Node.js搭建TypeScript开发环境
- 【转】async await 的前世今生(Updated)
- 机械设计基础课程设计详细步骤(说明书)
- Leetcode #1 Two Sum
- mac pro 2015 升级1T固态硬盘极简版本(三星970 evo plus)
- java es 如何查询_使用elasticsearch的java-api进行查询
- Permit.js – 用于构建多状态原型的 jQuery 插件
- 达内python学费22000_交钱了,学了3天Python编程,我想放弃了......
- 读《白鹿原》有感其二之乡约小谈
- 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(19):不定积分(补充知识)
- 利用matlab对纯电动汽车在nedc工况下的行驶阻力进行计算
热门文章
- redis配置_Redis配置大全(三)
- paradox 修改字段长度_400字的作文就只能写400字?刘强东:这不是笑话
- js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面
- linux的ftp轮询上传文件,Android中实现异步轮询上传文件
- shell如何解决mysql交互式_shell脚本与mysql交互方法汇总
- 孤灯php加密,PHP实现观察者模式
- 办公自动化系统开发实例导航 源码_本色世界源码搭建(系统开发)
- linux系统安装金蝶_linux 操作系统安装配置vnc
- cpc卡内计费信息异常包括_妈妈网广告投放怎么做、妈妈网广告|妈妈网信息流广告投放有哪些计费方式?...
- DjangoAPP子路由