PocoClassGenerator 是基於 Necroskillz 的 POCO Generator 在 LINQPad 內從 SQL 語句生成 C# POCO 類 開發的。
功能特色
- 支援當前資料庫所有資料表與檢視產生 POCO 類別程式碼
- 支援 Dapper.Contrib
- 支援多種關聯式資料庫:
sqlserver, oracle, mysql, postgresql - 輕量且快速(僅需 5 秒即可生成 100 張資料表的程式碼)
- 根據不同資料庫使用相應的方言與 schema table SQL 查詢
DEMO
快速開始
👇第一步:將 PocoClassGenerator.cs 代碼複製並貼上到你的專案或 LINQPad。 或從 NuGet 安裝
PM> install-package PocoClassGenerator👇第二步:使用連線呼叫 GenerateAllTables 並列印結果。
``C#
using (var connection = Connection)
{
Console.WriteLine(connection.GenerateAllTables());
}
#### 支援 Dapper Contrib POCO 類別
- 僅需呼叫帶有 GeneratorBehavior.DapperContrib
的方法
線上示範 : POCO Dapper Contrib Class Generator GenerateAllTables | .NET Fiddle
#### 產生註解
C#
using (var conn = GetConnection())
{
var result = conn.GenerateAllTables(GeneratorBehavior.Comment);
Console.WriteLine(result);
}
#### 產生檢視
C#
using (var conn = GetConnection())
{
var result = conn.GenerateAllTables(GeneratorBehavior.View);
Console.WriteLine(result);
}
#### 同時產生檢視、註解和 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
---