PocoClassGenerator เริ่มต้นมาจาก POCO Generator ของ Necroskillz Generate C# POCOs from SQL statement in LINQPad
คุณสมบัติ
- รองรับการสร้างโค้ดคลาส POCO จากทุกตารางและวิวในฐานข้อมูลปัจจุบัน
- รองรับ Dapper.Contrib
- รองรับหลาย RDBMS:
sqlserver,oracle,mysql,postgresql - ขนาดเล็กและรวดเร็ว (สร้างโค้ด 100 ตารางได้ใน 5 วินาที)
- ใช้ SQL schema table ที่เหมาะสมกับแต่ละฐานข้อมูลสำหรับการ query
ตัวอย่างสาธิต (DEMO)
เริ่มต้นใช้งาน (GetStart)
👇ขั้นแรก : คัดลอกและวางโค้ด PocoClassGenerator.cs ไปที่โปรเจ็กต์ของคุณหรือ LINQPad หรือ ติดตั้งจาก NuGet
PM> install-package PocoClassGenerator👇ขั้นที่สอง : ใช้ Connection เพื่อเรียก GenerateAllTables แล้วพิมพ์ผลลัพธ์ออกมา
``C#
using (var connection = Connection)
{
Console.WriteLine(connection.GenerateAllTables());
}
#### รองรับ Dapper Contrib POCO Class
- เรียกเมธอดพร้อม GeneratorBehavior.DapperContrib
เดโมออนไลน์ : POCO Dapper Contrib Class Generator GenerateAllTables | .NET Fiddle
#### สร้าง Comment
C#
using (var conn = GetConnection())
{
var result = conn.GenerateAllTables(GeneratorBehavior.Comment);
Console.WriteLine(result);
}
#### สร้าง View
C#
using (var conn = GetConnection())
{
var result = conn.GenerateAllTables(GeneratorBehavior.View);
Console.WriteLine(result);
}
#### สร้าง View พร้อม Comment และ Dapper.Contrib
C#
using (var conn = GetConnection())
{
var result = conn.GenerateAllTables(GeneratorBehavior.View | GeneratorBehavior.Comment | GeneratorBehavior.DapperContrib);
Console.WriteLine(result);
}
#### สร้างคลาสเดียวด้วย sql- สร้างคลาสเดียว
C#
using (var connection = Connection)
{
var classCode = connection.GenerateClass("select * from Table");
Console.WriteLine(classCode);
}
- ระบุชื่อคลาส
C#
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);
}
#### DataTablePocoClass
โค้ดอยู่ที่ DataTablePocoClassGenerator.cs
C#
var dt = new DataTable();
dt.TableName = "TestTable";
dt.Columns.Add(new DataColumn() { ColumnName = "ID", DataType = typeof(string) });var result = dt.GenerateClass(); var expect = @"public class TestTable { public string ID { get; set; } }"; Assert.Equal(expect, result); ``
--- Tranlated By Open Ai Tx | Last indexed: 2025-06-29 ---