PocoClassGenerator был создан на основе POCO Generator от Necroskillz Генерация C# POCO из SQL-запроса в LINQPad
Возможности
- Поддержка генерации POCO-кода для всех таблиц и представлений текущей базы данных
- Поддержка Dapper.Contrib
- Поддержка нескольких СУБД:
sqlserver,oracle,mysql,postgresql - Минималистичный и быстрый (генерация кода для 100 таблиц всего за 5 секунд)
- Использует соответствующий SQL для схемы таблицы каждой базы данных
ДЕМО
Начало работы
👇Первый шаг: Скопируйте и вставьте код 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 ---