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 }
时间: 2024-10-05 20:34:59

T4自动生成数据库C#实体类学习(1)的相关文章

如何由XSD自动生成XML和实体类

项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后自动读入实体类使用. 定义XSD的过程就是类似设计表结构的过程,二者也可以相互转化. 本文讨论了如何定义XSD文件(XML Schema),然后自动生成实体类,最后生成XML的过程,以及如何根据XSD验证XML文件的合法性.以供大家做项目时参考. 1. 首先在VS2005中添加一个XSD文件.例子X

MyBatis逆向工程,自动生成dao、实体类、mapper文件

利用mybatis generator 自动生成生成dao.实体类.mapper文件这里介绍两种方法:1.独立的文件夹的方式,脱离开发工具2.基于开发工具的方式(Eclipse)1.独立的文件夹的方式,脱离开发工具基本步骤:(方法有多种,这里的方法是脱离项目工程,利用命令行建立文件.后续可以按需复制进工程) 1.下载相应工具 2.依据相应数据库导入相应数据库连接jar包 3.编写generatorConfig.xml文件 4.命令行模式,进入lib文件夹 5.输入:java -jar mybat

Hibernate自动生成配置文件和实体类

用Hibernate自动生成,实体类和配置文件步骤: 窗口--Perspective--打开试图--Hibernate(点击打开如下图所示) 右键:AddConfigurRation:(如下图所示) 以上只是配置好了,数据库的链接和hibernate.cfg.xml文件的生成. 下面演示自动生成实体类和实体类所对应的hbm.xml文件: 点击确定配置完成了

使用generatorConfig工具自动生成mybatis的实体类以及dao接口和映射文件

1:数据准备 创建一个数据库表 1 CREATE TABLE `logininfo` ( 2 `id` BIGINT(20) NOT NULL AUTO_INCREMENT, 3 `username` VARCHAR(50) DEFAULT NULL, 4 `password` VARCHAR(200) DEFAULT NULL, 5 `state` TINYINT(4) DEFAULT NULL, 6 PRIMARY KEY (`id`) 7 ) ENGINE=INNODB DEFAULT C

.net自动生成数据库表的类

// 获取到所有的用户表.DataTable userTableName = GetTable( "select name as tablename from sysobjects where xtype = 'U'" ); //根据表名获取所有字段和字段类型            DataTable myTable =                 GetTable(                     "select syscolumns.name,systypes

使用MyBatis Generator自动生成DAO以及实体类

generatorConfig.xml文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-conf

完善实体类,由EF自动生成数据库过程中的一些问题

①.配置两表间的关系时WillCascadeOnDelete(false)取消级联删除 public AdminLogConfig() { this.ToTable("T_AdminLogs"); this.Property(a => a.Msg).IsRequired(); this.HasRequired(a => a.AdminUser).WithMany().HasForeignKey(a => a.AdminUserId).WillCascadeOnDele

七色花基本权限系统(5)- 实体配置的使用和利用T4自动生成实体配置

在前面的章节里,用户表的结构非常简单,没有控制如何映射到数据库.通常,需要对字段的长度.是否可为空甚至特定数据类型进行设置,因为EntityFramework的默认映射规则相对而言比较简单和通用.在这篇日志里,将演示如何对数据实体进行映射配置,并利用T4模板自动创建映射配置类文件. 配置方式 EntityFramework的实体映射配置有2种. 第一种是直接在实体类中以特性的方式进行控制,这些特性有部分是EF实现的,也有部分是非EF实现的.也就是说,在数据实体层不引用EF的情况下,只能使用不全的

MVC自动生成数据库【Code-FIrst方式】

一般我们写好实体之后,配置好数据上下文对象,还有在配置文件中改好连接字符串之后. 还不能生成数据库,自动生成数据库,有两步关键步骤: 1.   Enable Migrations 2. Update-database 执行玩第二步之后,就自动生成了数据库. ------------------------------------实例---------------------------------------------------------------- //实体: using System