リバースエンジニア/SQL ServerテーブルからC#インターフェイスを作成する
-
04-10-2019 - |
質問
SQL Serverデータベースを指すツールの方法を知っていますか?スキーマを読み取り、テーブルからC#インターフェイスクラスを生成することができますか?
たとえば、「customers」というテーブルが「name」列、アドレス」列、「電話」列を持つ「顧客」と呼ばれるテーブルがあるとします。文字列名{get; set;} stringアドレスを持つicustomer.csファイルを生成します{get ; set;}およびint phone {get; set;}
「不完全な」コードジェネレーターを使用していますが、これらのインターフェイスは生成されません。
解決 5
すでにクラスを生成しているため、ResharpersのExtractインターフェイス「リファクタリング」を使用できると思います。
すべての人に感謝します
他のヒント
どうですか LinqからSQL O/Rデザイナー?
私はそれをしているツールを知りませんが、私はあなたが非常に簡単に自分でそれを行うことができることを確かに知っています!
クラスのヘッダーを含む文字列とフッター付きの別の文字列を設定します。
次に、テーブルとして名前が付けられた新しいテキストファイルを作成します。
ヘッダーをファイルに書き込みます。
ボディについては、テーブルを読んでループを書いて、フィールドの名前と種類を抽出し、その情報にインターフェイスを書きます。
最後に、フッターをファイルに書き込みます。
そこにあなたはあなたの真新しいインターフェースを使用します!
(インターフェイスはJust Plain Textファイルであるため、本当に簡単です...)
使用できます SQLMetal.exe
仕事の一部を完了させるため。インターフェイスが必要なように聞こえますが、これにより具体的なクラスが作成されます。見つける/交換するのは小さな作業です class
と interface
, 、および名前を変更します。
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\SqlMetal.exe
または、Visual Studioコマンドプロンプトを開きます。- 使用法:
sqlmetal /server:myserver /database:myDB /user:myUser /pwd:myPwd /language:csharp /code:myDB.cs
SQLMetalのMSDNページでその他のオプションがあります。
コード生成テンプレートをカスタマイズできるツールが必要です。考えましたか エンタープライズアーキテクト, 、 また コードスミス?
他にもたくさんあります - あなたはモデル主導のアーキテクチャに行きたいと思うかもしれません。 UMLでソリューションを設計し、UMLモデルからデータベースとコードを生成します。たとえば、このツールの組み合わせを使用できます。 マジックドロー とメイベン。
私の sqlsharpener プロジェクトでは、SQLファイルを解析できます デザイン時間 T4テンプレートで好きなコードを生成するために使用できるメタモデルを作成します。たとえば、作成できます エンティティフレームワークコード最初 エンティティ。
使用することもできます 私の世代