2012-01-20 8 views
9

エンティティ・フレームワークを使用してストアド・プロシージャを呼び出しています。私は関数のインポートウィザードと関数のインポートと複雑な型を作成するためのプロセスを使用しています。Entity Framework関数のインポートを自動的に更新する方法

私が抱えている問題は、すべての複雑なタイプを簡単にリフレッシュする方法を見つけることです。今日の手順の変更が保存されている

は、私のプロセスはにある:

1)EF更新ウィザードを使用してストアドプロシージャを更新します。

2.)モデルブラウザで各関数のインポートに移動し、[編集]をクリックします。

3.)複雑なタイプを更新するには、ボタンをクリックします。

4.)100回以上のすべての関数のインポートに対して、このプロセスを手動で繰り返します。

この更新プロセスは非常によくここで説明されています。これは、コマンドラインを介して、またはマクロのいくつかの並べ替えのいずれかを介して自動化することができる方法http://blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure-return-type-shape-sensing.aspx

は誰もが知っています。ビルドプロセスの一部である必要はありません。

+0

私が実際に行う必要があるのは、モデルをリフレッシュすることだけです。それは関数のインポートを処理します。複合タイプを更新するには、「機能インポート編集」画面の複合タイプの横にある「更新」ボタンをクリックするだけです。私の場合、私は約100回これを行う必要があります。 – DTig

答えて

2

Entity Frameworkに付属のEdmGenコマンドラインツールを確認してください。あなたの関数のインポートを含むEDMXを生成するために必要なコマンドラインスイッチを解説します(他にもたくさんの可能性があります)。

次に、XDocumentとLINQ to XMLを使用して、生成されたEDMXから必要なXML要素を読み取って、同じテクニックを使用して実際のEDMXのものを上書きする小さなコマンドラインプログラムを作成します。

このプロセスをビルドの一部にしたい場合は、これらの2つのコマンドをプロジェクトプロパティのプロジェクトビルド前のイベントコマンドライン設定に追加します。

他の開発者とビルドサーバーでは、新しいマージコマンドをコンパイルして、どこかに呼び出してチェックインする必要があります。

関連する問題