Dapper 配合 T4 模板可基于数据库元数据(如 sys.tables/sys.columns)自动生成 C# 实体类,支持类型映射、主键识别、空值判断及 Dapper 特性标注,轻量可控且可定制。

用 Dapper 配合 T4 模板生成实体类,核心是利用数据库元数据(如 INFORMATION_SCHEMA 或系统视图)+ T4 的文本生成能力,自动生成与表结构一一对应的 C# 实体类。它不依赖第三方 ORM 代码生成器,轻量、可控、可定制。
准备数据库连接和元数据查询
在 T4 模板中需要能访问数据库,获取表名、列名、数据类型、是否为空、主键等信息。推荐用 SQL Server 的 sys.tables 和 sys.columns 查询(其他数据库类似):
- 用
SqlConnection连接数据库(T4 中支持System.Data.SqlClient或Microsoft.Data.SqlClient) - 执行类似下面的 SQL 获取字段信息(含类型映射、是否主键、是否自增等):
编写基础 T4 模板(.tt 文件)
新建一个 Models.tt 文件,顶部添加连接字符串和引用:
- 定义连接字符串(建议从配置文件读取或硬编码测试用)
模板主体遍历表 → 遍历字段 → 生成属性,注意处理 SQL 类型到 C# 类型的映射(如 int, string, DateTime?, bool?),并加 [Column] 或 [Key] 等 Dapper 常用特性(需引入 Dapper 命名空间)。
标签: 编码 app 工具 microsoft 配置文件 c#
还木有评论哦,快来抢沙发吧~