C# Dapper POCO类别生成器 : 全资料库表格类别代码生成 (支持Dapper.Contrib)

PocoClassGenerator Github连结


说明

PocoClassGenerator起于个人工作上需求需要为不同的RDBMS的Table跟View生成Dapper POCO类代码,以Necroskillz的文章 Generate C# POCOs from SQL statement in LINQPad为基础开端开发功能。

自己身为Dapper、Dapper.Contrib、轻量化爱好者很喜欢这小工具,希望也帮到有需要的版友 :)


主要功能

支持当前资料库全部表格、View批量生成POCO类别代码支持Dapper.Contrib: 自动判断/添加 [Key]、[ExplicitKey]、[Computed]支持多资料库SQLServer、Oracle、MySQL、PostgreSQL效率挺快的,一百个表格5秒以内跑完支持类别注解Comment生成,方便辨认栏位资料

一般POCO Class 测试连结/效果图:

Online Demo : POCO Class Generator GenerateAllTables | .NET Fiddle

20190430141947-image.png

Dapper Contrib 测试连结/效果图:

The Online Demo : POCO Dapper Contrib Class Generator GenerateAllTables | .NET Fiddle

20190502132948-image.png


使用方式

第一步 : 複製/贴上 PocoClassGenerator.cs 代码到你的专案或是LINQPad.
或是喜欢NuGet套件的使用者,这边有打包NuGet连结方便下载,或是使用CLI命令
PM> install-package PocoClassGenerator
第二步 : 使用 Connection 物件去呼叫GenerateAllTables方法并显示生成字串
using (var connection = Connection){Console.WriteLine(connection.GenerateAllTables());}

支持 Dapper Contrib POCO Class

呼叫方法并使用 GeneratorBehavior.DapperContrib 参数
using (var conn = GetConnection()){    var result = conn.GenerateAllTables(GeneratorBehavior.DapperContrib);    Console.WriteLine(result);}

生成 View

using (var conn = GetConnection()){    var result = conn.GenerateAllTables(GeneratorBehavior.View);    Console.WriteLine(result);}

生成 Class Comment

using (var conn = GetConnection()){    var result = conn.GenerateAllTables(GeneratorBehavior.Comment);    Console.WriteLine(result);}

以SQL生成单类别

以资料库表格名称当类别名称
using (var connection = Connection){var classCode = connection.GenerateClass("select * from Table");Console.WriteLine(classCode);}
指定类别名称
using (var connection = Connection){var classCode = connection.GenerateClass("with EMP as (select 1 ID,'WeiHan' Name,25 Age) select * from EMP", className: "EMP");Console.WriteLine(classCode);}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章