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 }
复制代码

 

posted @   太一吾鱼水  阅读(678)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示