C#プロパティジェネレータ

和名、カラム名


例)

説明)タブ区切り(Excelからそのままコピーするイメージ)
   タブが何個重なっていても問題はありません。

結果

使い方とユースケース

和名・カラム名・型の一覧を貼り付けると、C# のプロパティ定義を自動生成します。業務システムの DTO・モデルクラス・エンティティ作成の補助に使えます。

  • DB のテーブル定義書をそのままコピーして、C# プロパティへ素早く変換できます。
  • XmlDoc コメント(/// <summary>)を付けた出力にも対応しています。
  • 生成結果はコピーして Visual Studio や VS Code に貼り付けてご利用ください。

処理はブラウザ内で完結します。機密性の高いカラム名も外部送信なしで変換できます。

C#プロパティジェネレータは、テーブル定義書やExcelの列一覧から「和名・カラム名・型」をタブ区切りで貼り付けるだけで、C#のプロパティ定義(XmlDocコメント付き)を一括生成するツールです。業務システム開発では、DBのカラム定義からDTOやエンティティクラスを手作業で書き起こすことが多く、1件ずつ`/// <summary>`コメントとプロパティ宣言を書くのは地味に手間がかかります。本ツールはExcelからのコピペにそのまま対応しており、設計書のカラム一覧を流し込むだけでVisual StudioやVS Codeに貼り付け可能なC#コードを得られます。

使い方・サンプル・結果例・注意点

使い方

「和名、カラム名」欄に「和名(タブ)カラム名(タブ)型」の形式で1行ずつ貼り付け、「生成」を押すと結果欄にC#プロパティ定義が出力されます。

サンプル入力

オーダーID order_id string 会員番号 customer_id int 登録日時 created_at DateTime

結果例

「生成」を押すと、各行から和名・カラム名・型を読み取り、次のような形式で出力されます。 /// <summary>オーダーID</summary> public string order_id { get; set; } /// <summary>会員番号</summary> public int customer_id { get; set; } /// <summary>登録日時</summary> public DateTime created_at { get; set; } 型の列を省略した行は自動的に string 型として出力されます。

注意点

区切り文字はタブのみに対応しており、複数のタブが連続していても1つのタブとして扱われるため、Excelのセルからそのままコピーした際の余分なタブも吸収されます。1行が「和名」「カラム名」のみ(型なし)の場合は型が string になります。空行はスキップされます。生成されるのはプロパティ宣言のテキストのみで、クラス定義の枠やusing文、namespace宣言は含まれないため、既存のクラスに貼り付けて利用してください。入力したカラム名や型情報はブラウザ内でのみ処理され、外部のサーバーには送信されません。

こんなときに使えます

  • 業務システムのバックエンド開発者が、DB設計書のテーブル定義(カラム名・データ型一覧)をExcelからコピーし、エンティティクラスのプロパティを一括生成する
  • 新人エンジニアが、先輩から共有されたカラム一覧をもとに、DTOクラスの雛形をすばやく作成して開発に着手する
  • SES案件で複数の類似テーブルを扱う開発者が、テーブルごとに少しずつ異なるカラム定義をその都度C#コードへ変換する
  • APIレスポンス用のモデルクラスを設計する際、仕様書のフィールド一覧からXmlDocコメント付きのプロパティを効率よく作成する

よくある質問

型の列を入力しないとどうなりますか?

型の列を省略した場合は自動的に string 型として出力されます。文字列型のカラムが多い場合は型の列を省略して入力の手間を減らせます。

Excelから複数列をコピーしてもそのまま使えますか?

はい。Excelで複数セルを選択してコピーすると列間にタブが挿入されるため、そのままテキストエリアに貼り付ければタブ区切りとして認識されます。連続したタブも1つにまとめて処理されます。

生成されたコードにクラス定義やusing文は含まれますか?

含まれません。出力されるのはプロパティ宣言(XmlDocコメントとgetter/setter)のみです。class やnamespaceの記述は別途ご自身のコードに合わせて追加してください。

List<T>やNullable型(int?など)のような複雑な型も指定できますか?

型の列にはそのままの文字列が出力されるため、`List<string>`や`int?`、`Dictionary<string, int>`のような型名をそのまま入力すれば、その通りに出力されます。

プロパティ名に日本語や記号を使った場合はどうなりますか?

カラム名はそのまま出力されるため、C#の識別子として無効な文字(スペースや記号など)が含まれているとコンパイルエラーになります。カラム名は事前に英数字とアンダースコアのみで構成しておくことをおすすめします。