最初に、多数のテーブルとビューを含む小さなデータベースを EF 5 コードにリバース エンジニアリングしました。
これを行うと、テーブルごとに一連のモデルとマッピング クラスが取得され、生成されDbContext
た .
ビューごとに POCO クラスも生成しますが、パッケージ マネージャー コンソールを実行Enable-Migrations
しAdd-Migration
て使用すると、移行によって SQL Server ビューが再作成されません。
次のようにカスタム SQL を使用してビューを作成するために、移行を手動で更新しようとしました。
Sql("CREATE VIEW [dbo].[viewUsersDeactivated] "
+ "AS "
+ "SELECT ... ");
これは を実行すると正常に動作Update-Database
しますが、コマンドから出力される SQL スクリプトUpdate-Database -Script
が有効ではないようで、次のエラーが発生します。
'CREATE VIEW' は、バッチ内の唯一のステートメントである必要があります。
Sql("GO");
カスタム SQL ステートメントのそれぞれの間に挿入することは、スクリプトの生成には機能しますが、 を使用して更新することはできなくなりUpdate-Database
、両方に機能する方法を見つけることができません。
したがって、私の質問は次のようになります: SQL Server ビューをコード ファーストの移行スクリプトに含めて、SQL Server を使用して生成された実稼働スクリプトを使用してデータベースを作成できるようにするにはどうすればよいですか?Update-Database
Update-Database -Script
ありがとう!