2017-08-02 2 views
0

私はこのような正確な解決策を最初にコードとしてquestionしたいと思います。EF 6コード1:ストアドプロシージャを更新するには?

私たちはEntity Framework 6.0.0を使用しており、まずテーブルとストアドプロシージャからコードを生成するためにこのようなコードを使用しています。これは、モデルを更新またはリフレッシュするときにストアドプロシージャの変更が反映されない点を除いて、うまくいくようです。テーブルに列を追加することは反映されますが、ストアドプロシージャにフィールドを追加することはありません。

答えて

0

実際、EFでは、テーブルとまったく同じストアドプロシージャの自動更新はサポートされていません。そこで、ここではいくつかの手動作業が必要です(この解決策はEF 6用です。他のEFバージョンでは試していません)。

  • モデルブラウザに移動します。 StoredProc1はストアドプロシージャの名前です。
  • StoredProc1は3ヶ所に表示されます。
    • 1位を:複合型の下 - >StoredProc1_resultとして
    • 2位:機能の輸入の下 - >
    • 3位StoredProc1など:ストアドProcdures /関数の下で - >

StoredProc1としてモデルからの3つのすべてを削除します。 .edmxを保存します(ウィンドウをクリックしてからCtrl + Sを押して)。次に、右クリックし、データベースからモデルを更新をクリックします。次に、更新されたストアドプロシージャを追加し、再度保存します。

これはまだ手作業ですが、問題を解決します。

関連する問題