PocoClassGeneratorは、NecroskillzのPOCO Generator Generate C# POCOs from SQL statement in LINQPad を基に作成されています。
特徴
- 現在のデータベース内のすべてのテーブルおよびビューに対応したPOCOクラスコードを生成
- Dapper.Contrib 対応
- 複数のRDBMSに対応:
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 ---