T4 模板自动生成带注释的实体类文件 - 只需要一个 SqlSugar.dll

生成实体就是这么简单,只要建一个T4文件和 文件夹里面放一个DLL。

 

使用T4模板教程

步骤1

 创建T4模板 ,一定要自已新建,把T4代码复制进去,好多人因为用我现成的T4报错(原因不明)

 点击添加文件,选择【 运行时文本模版】(后缀为 .tt)取个名字点确定。

 

 

步骤2

设置当前T4所需要的序集并且引用 SqlSugar.dll

编写连接数据库代码

调用SqlSugar生成实体函数,填写参数。

 

 

 图片看不清楚看下面代码

复制代码
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="System.Xml.Linq" #>
<#@ assembly name="System.Data" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="SqlSugar" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Web" #>
<#@ assembly name="$(SolutionDir)\WebTest\App_Lib\SqlSugar.dll" #>

<# 
     

    //当前项目目录
    string projectDir = Host.ResolveAssemblyReference("$(ProjectDir)");

    //解决方案目录
    string solutionDir = Host.ResolveAssemblyReference("$(SolutionDir)");

 
     using (var db = new SqlSugarClient("server=.;Initial Catalog=SqlSugarTest;Persist Security Info=True;User ID=sa;Password=sasa"))
     {
          db.ClassGenerating.CreateClassFiles(db, "E://T4/Models","Models");  

      };
#>
复制代码

 

 

步骤3

CTRL+S这个T4模版,便会生成实体文件,包含到项目便可。

 

 

如果想自定义生成实体的一些格式请改变这3个静态变量的模版

     var tempItem=ClassTemplate.ItemTemplate;  类的模版
     var temp=ClassTemplate.Template ;   字段模版

        ClassTemplate.ClassFieldSummaryTemplate 字段摘要模版

DEMO都在GIT上有

SqlSugar ORM从去年到现在已经一年了,版本从1.0升到了现在的2.4 ,这是一个稳定版本 ,有数家公司已经项目上线, Github 按C#  most star 搜索 ORM排名第7。

性能目前测试下来只有chloe ORM 能够一较高下,也是继chloe.ORM第二个支持CORE的ORM,性能略高于Dapper。(当然如果你们有测试结果,我也可以发到贴子里面 )

 

MySql .NET 4.0+

https://github.com/sunkaixuan/MySqlSugar 

 

MySql .NET CORE

下周更新

 

MSQL .NET 4.0+下载地址:

https://github.com/sunkaixuan/SqlSugar

 

MSSQL .NET Core版本

https://github.com/sunkaixuan/ASP_NET_CORE_ORM_SqlSugar

posted @   hg一如既往  阅读(1798)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2015-10-13 c# 通过反射获取私有方法
点击右上角即可分享
微信分享提示