文章末尾有github地址
一、最终效果


第二张图是新增的功能,可以生成".cs"类文件
二、如何实现
1.数据库表生成实体类
此功能很简单实现,得益于SqlServer提供了查询数据库表的配置信息的功能。
例:
--查询有权访问的数据库
use master;select name from sysdatabases order by name asc
--查询数据库下的表
use 数据库名;select name from sysobjects where xtype='U' order by name asc
--查询指定表配置信息
select b.name TableName,(select value from sys.extended_properties where major_id=a.object_id and minor_id=0) TableDesc,a.name ColName,c.name AS TypeName,a.is_nullable IsNullable,d.value Description
from sys.columns a
inner join sys.tables b on b.object_id=a.object_id
inner join sys.types c ON c.system_type_id=a.system_type_id
left join sys.extended_properties d ON d.major_id = a.object_id AND d.minor_id = a.column_id
where b.name='表名' order by d.minor_id"
拿到表配置信息后,用实体类映射
public class TableDetails
{
/// <summary>
/// 表名
/// </summary>
public string? TableName {
get; set; }
/// <summary>
/// 字段名
/// </summary>
public string? ColName {
get; set; }
/// <summary>
/// 字段类型
/// </summary>
public string

本文介绍了一款自己编写的Sql转实体类工具,详细讲述了如何通过数据库表和SQL查询结果生成C#实体类,包括数据库表配置信息的获取、反射与内置方法的运用。文章提供了GitHub仓库链接,欢迎star支持。
最低0.47元/天 解锁文章
971

被折叠的 条评论
为什么被折叠?



