根据tt文件模板自动生成代码
根据tt文件模板自动生成代码,下面依赖一个edmx,生成代码文件
<span style="font-size:12px;color:#000000;"><#@ 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 = @"..\\Company.OA.Model\\<span style="color:#CC0000;">DataModel.edmx</span>";EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);#>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Company.OA.DALFactory;
using Company.OA.IBLL;
using Company.OA.IDAL;
using Company.OA.Model;namespace Company.OA.BLL
{
<#
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{#> public partial class <#=entity.Name#>Service:BaseService<<#=entity.Name#>>,I<#=entity.Name#>Service //crud{public override void SetCurrentDal(){CurrentDal = DbSession.<#=entity.Name#>Dal;} }
<#}#>
}</span>
生成的文件如下
<span style="font-size:12px;color:#000000;">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Company.OA.DALFactory;
using Company.OA.IBLL;
using Company.OA.IDAL;
using Company.OA.Model;namespace Company.OA.BLL
{public partial class OrderInfoService:BaseService<OrderInfo>,IOrderInfoService //crud{public override void SetCurrentDal(){CurrentDal = DbSession.OrderInfoDal;} }public partial class TeacherService:BaseService<Teacher>,ITeacherService //crud{public override void SetCurrentDal(){CurrentDal = DbSession.TeacherDal;} }public partial class UserInfoService:BaseService<UserInfo>,IUserInfoService //crud{public override void SetCurrentDal(){CurrentDal = DbSession.UserInfoDal;} }
}</span>
这样我们在edmx中添加一个实体,模板自动给我们生成相应的业务
根据tt文件模板自动生成代码相关推荐
- C#分析数据库结构,使用XSL模板自动生成代码
<html> <head> <TITLE>分析数据库结构,自动生成代码</TITLE> <meta http-equiv="Conten ...
- SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)
一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...
- Mybatis逆向工程自动生成代码文件
一般来说都会新建另外一个项目,用于生成代码文件,然后拷贝到需要的项目中.新建maven项目用于生成代码文件,项目目录如下所示: pom.xml内容如下: <project xmlns=" ...
- 自动生成PDF文件(Java通过PDF模板自动生成PDF)
思路: 1.创建PDF模板(先创建对应的excel文件,创建好后另存为PDF文件)即可. 2.使用Adobe Acrobat DC工具打开PDF文件,设置自己想要替换的内容. 3.maven项目引入依 ...
- 自动生成代码工具 模板工具类
自动生成代码工具 模板工具类 import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.Output ...
- powerdesigner自动生成代码的修改
powerdesigner自动生成代码的功能很是强大,但有时候不是很符合我们的想法,因此需要对其模板进行一些修改,如要将数据库中的表生成类文件时,我们需要的是property,但其为我们生成的代码里没 ...
- MyBatisPlus自动生成代码springboot+mybatis+mysql 以及动态sql生成方法(测试可用版)
用了一段时间的springboot,想着百度一下自动生成代码的方式,包括后面如何生成动态sql方法的方式. 摸索了几天,整理一下: ** 1 自动生成代码方式:com.baomidou.mybatis ...
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- vue可视化拖拽生成工具_GitHub - 1260215278/dragUI: 基于vuedraggable.js + uni 的可视化拖拽编程,自动生成项目,自动生成代码,自行导入第三方组件...
dragUI 用于UNI可拖拽可视化编程 在线演示 效果图 基于 快速开始 参考uni官网安装普通uni项目(运行uni-app)运行到浏览器 另需要手动下载包npm install 项目目录 col ...
最新文章
- 怎么学python-结合学习经历,谈一谈如何学习Python
- Source Insight 4怎么取消函数结束提示字符
- lofter 爬虫_本日Lofter德哈tag榜单 20201125
- Spring Cloud 设置Feign的日志记录级别
- 农业不一定靠规模赚钱
- C++中指针和引用的区别与联系
- RabbitMQ 学习开发笔记
- Windows集群网络负载均衡
- 电子商务网站优化之策略篇
- Windows XP 优化设置注册文件集合(共80项,请谨慎使用)
- 如何在微信小程序中使用echarts绘制地图(微信小程序制作疫情数据地图)
- 安装IBM HTTP SERVER
- 在电脑上怎么压缩ppt文件?
- DS1302时钟芯片的使用
- java游戏管理器虚拟按键_Android实现手机游戏隐藏虚拟按键
- 查找算法之斐波那契查找算法
- 认认真真推荐 10 个优质自学平台
- matlab中的rand函数(用于产生随机数)
- ie默认连接首页没修改
- 火绒剑Mac版在哪里下载
热门文章
- Android 实现浏览器跳转APP应用,网页也可以跳转APP
- java版溺尸掉三叉戟吗_我的世界溺尸怎么生成_我的世界溺尸掉落什么-街机中国...
- MySQL 创建表格
- 电脑IOS模拟器用逍遥模拟器电脑上玩部分手游和苹果手机互通
- 图技术赋能民生银行创新转型
- delphi 图表 控件_将基本图表集成到Delphi应用程序中
- IPSEC密钥交换过程
- Spring boot-@Qualifier使用
- substr()函数截取字符串
- emby无法播放服务器位置,解决emby不能播放部分视频一例