私はこの回答のようにストアドプロシージャ作成のソリューションを持っていますhttps://stackoverflow.com/a/15171900。コードファーストDbMigrationでストアドプロシージャを更新します
私は私の最初のDbMigrationで
Sql(Properties.Resources.Create_sp_DoSomething);
を実行しています。
My SQLスクリプトには、既存のSPを先にドロップして新しい更新SPを作成するコードがあります。だから私は実行するとき
Sql(Properties.Resources.Create_sp_DoSomething);
新しいDbMigrationで、ロジック内SPの変更はすべて正常に動作します。
後でコミットするときにモデルに追加された列(例:IsActive)でストアドプロシージャを更新するときに問題が発生し、既存のDBなしで更新しています(新しいDBが作成されます)。 次に失敗します
無効な列名 'IsActive'。
SQL(Properties.Resources.Create_sp_DoSomething)へのすべての既存のコールを除去するよりも、他の任意の良い解決策。
であり、最新のDbMigrationでのみ使用してください。
あなたは* GO *ドロップの間のステートメントとSPを作成し、これを追加する必要があります(必要とされている)、このスクリプトの冪等を行うと* ExecuteSqlCommaでのアプローチnd()*にはhttps://smehrozalam.wordpress.com/2009/05/12/c-executing-batch-t-sql-scripts-with-go-statements/のようなものが必要です –