最初に、多数のテーブルとビューを含む小さなデータベースを 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-DatabaseUpdate-Database -Script
ありがとう!