2009-09-28 6 views
8

誰でも良い/有用なASP.NET MVCコード/ソリューションジェネレータを知っていますか?理想的には、ドメインモデルから構築することもできますが、データモデルからも可能です。ASP.NET MVCコードジェネレータについて知っていますか?

そうした場合、あなたは次のように答えることができます。

  1. は、それが「良い」のコードを生成していますか?
  2. 拡張できますか?
  3. これを使用した場合、あなたは何を気に入らないでしょうか?
  4. 目立つものにはどんな大きな恐怖がありますか?

あなたが知っている人がいない場合は、これがコミュニティに何か不足していると思われますか、それが必要とは思われませんか? 1つの機能にどのような機能を見たいのですか?

は、あなたの答えを聞くために待つことができません...

おかげ スコット

+3

私はJon Skeetが優れたコードジェネレータであることがわかりました。 –

答えて

3

S#arp ArchitectureはT4を使用して足場発生器を含みます。テンプレートモデル定義からモデル、ビュー、コントローラ、およびテストを生成します。あなたはフルCRUDを取得します。 T4(Visual Studioのテンプレート言語だと思います)を使用しているので、必要に応じてデフォルトのテンプレートを拡張できます。

は、ここではテンプレートの例です:

EntityScaffoldingDetails entityScaffoldingDetails = 
    new EntityScaffoldingDetails("Organization.Worker"); 

/* 
* Property names should be PascalCase. 
* Do not include a property for Id as it will be included automatically. 
*/ 
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("FirstName", "string", "Joe", "[NotNull, NotEmpty]", true) 
); 
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("LastName", "string", "Smith", "[NotNull, NotEmpty]", true) 
); 
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("BirthDate", "DateTime", DateTime.Parse("1/1/1975")) 
); 
entityScaffoldingDetails.EntityProperties.Add(
    new EntityProperty("Manager", "Employee", null, "[NotNull]") 
); 

/////////////////////////////////////////////////// 

// The first parameter should reflect the root directory of your solution 
//ScaffoldingGenerator generator = new ScaffoldingGenerator(
    //@"D:\Work\Project\", "Orders", entityScaffoldingDetails); 

// Uncomment this line when you're ready for the scaffolding generator to fire...be sure to recomment after it completes to avoid accidental generating! 
//generator.Run(); 

一つの小さな加え:例えば、私はViewModelにで動作するようにコントローラを好む、ので、私はは、エンティティ、そのままそれを使用していないお勧めしません。私は足場をあまり使わない。しかし、あなたはT4を学ぶ必要があるかもしれませんが、かなり柔軟です。

+0

上記のリンクは動作しません – romanoza

+1

https://github.com/sharparchitecture/Sharp-Architecture - 実際には現在のS#arpアーキテクチャの状態を認識していませんが。 – queen3

2

RadarcというVisual Studio 2010拡張機能を試すことができます。これは、さまざまなアーキテクチャとテクノロジのソリューションを生成できる拡張機能のレポジトリ(数式と呼ばれます)を備えています。 MVC FormulaでRadarcを使用すると、新しいドメインモデルから、または既存のデータベースをインポートして、EFコードでASP.Net MVC 3アプリケーションを作成できます。

私はこの製品チームで働いていますので、私はあなたの質問にすべて答えたいとは思っていませんが、はい、それを拡張することができます。

2

Naked Objects MVCを見ましたか?少なくとも学問的理由からは非常に興味深い。

Naked Objects MVCフレームワークは、ドメインモデル(POCOとして書かれています)を受け取り、少数の一般的なViewクラスとControllerクラスを使用して、ユーザーインターフェイスコードを記述することなく完全なHTMLアプリケーションとしてレンダリングします。フレームワークは、コード生成ではなくリフレクションを使用します。 開発者は、標準のASP.NET MVCパターンを使用して、カスタマイズされたビューおよび/またはコントローラを作成して、一般的なユーザーインターフェイスが適切でない場所で使用することを選択できます。

1

AspxFormsGen MVC3を試してください。 MS SQLデータベースを読むことでモデル、ビュー、コントローラ、ビューモデル、ストアドプロシージャ、中間層コード、データレイヤーコードをワンクリックで生成します。 http://www.junnark.com/Products/AspxFormsGenMVC3

0

www.datatreepages.comを試してください。

データベースにデザイナーを接続し、ソート/検索/ページングを含むデータ入力ページを生成します。また、レイアウトを設計して、マスター/詳細関係のためにデータページを画面上でリンクすることもできます。

コントローラ、データアクセス、モデル、ビューモデル、csthml、javascript/jquery、html/cssはすべてあなたのために書かれています。生成されるコードは単純で拡張可能です。

関連する問題