PocoClassGenerator는 Necroskillz
의 POCO Generator LINQPad에서 SQL문으로 C# POCO 생성하기에서 시작되었습니다.
특징
- 현재 데이터베이스의 모든 테이블과 뷰에 대해 POCO 클래스 코드 생성 지원
- Dapper.Contrib 지원
- 다양한 RDBMS 지원:
sqlserver,oracle,mysql,postgresql
- 가볍고 빠름 (5초 이내에 100개 테이블 코드 생성)
- 각 데이터베이스 쿼리에 적합한 방언의 스키마 테이블 SQL 사용
데모

시작하기
👇첫 번째 : PocoClassGenerator.cs 코드를 프로젝트나 LINQPad에 복사 & 붙여넣기 하세요. 또는 NuGet에서 설치하세요.
PM> install-package PocoClassGenerator
👇두 번째 : 연결(Connection)을 사용하여 GenerateAllTables
를 호출한 후 출력하세요.
``C#
using (var connection = Connection)
{
Console.WriteLine(connection.GenerateAllTables());
}
#### Dapper Contrib POCO 클래스 지원
- 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);
}
#### 뷰, 주석, 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 ---