T4自动生成数据库C#实体类学习(1)
第一个测试的Demo
1 <#@ template language="C#" debug="True" hostspecific="True" #> 2 <#@ output extension=".cs" #> 3 <#@ assembly name="System.Data" #> 4 5 <#@ assembly name="System.xml" #> 6 <#@ assembly name="System.Data.OracleClient" #> 7 <#@ import namespace="System.Collections.Generic" #> 8 <#@ import namespace="System.Data.OracleClient" #> 9 <#@ import namespace="System.Data" #> 10 11 using System; 12 using System.Xml; 13 using System.Data; 14 using System.Data.OracleClient; 15 16 namespace MyProject.Entities 17 { 18 <# 19 string connectionString = "Data Source=orcl;User ID=sde;PassWord=sde"; 20 OracleConnection conn = new OracleConnection(connectionString); 21 conn.Open(); 22 string tableName= "T_USER"; 23 string selectQuery = "select * from @tableName"; 24 OracleCommand command = new OracleCommand(selectQuery,conn); 25 System.Data.DataSet ds = new DataSet(); 26 #> 27 28 public class <#= tableName#> 29 { 30 <# 31 ds.Tables.Clear(); 32 OracleDataAdapter ad=new OracleDataAdapter(command); 33 command.CommandText = selectQuery.Replace("@tableName", tableName); 34 35 ad.FillSchema(ds, SchemaType.Mapped, tableName); 36 37 foreach (DataColumn dc in ds.Tables[0].Columns) 38 { 39 #> 40 41 private <#= dc.DataType.Name #> _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #>; 42 43 44 public <#= dc.DataType.Name #> <#= dc.ColumnName #> 45 { 46 get { return _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #>; } 47 set { _<#= dc.ColumnName.Replace(dc.ColumnName[0].ToString(), dc.ColumnName[0].ToString().ToLower()) #> = value; } 48 } 49 50 <# 51 } 52 #> 53 54 55 } 56 57 <# 58 #> 59 }
作者:太一吾鱼水
文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。
欢迎大家留言交流,转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律