を実行していない-script、コンソールを管理し、私のSeed()
方法が正常に実行され。しかし、私は-scriptパラメータを指定してコマンドを実行した場合:EFコードファーストアップデート - データベースが私のEntity Frameworkのコードファーストプロジェクトでシード()メソッド
update-database -script
...シード()メソッドが呼び出されず、結果としてSQLデータベースをシードするためにSQLコマンドが含まれていません。この動作は繰り返し可能です。私は展開のための完全なDBスクリプトを作成しようとしています。
なぜ-script
で、それなしで実行SQLコマンドの間に食い違いがあり、-script
スイッチを使用する際にどのように私はSeed()
方法を実行するためにupdate-database
を得ることができますか?
しかし、データベースは通常、Enumのようなものを表現するためにかなり静的な「種」データを必要とします。私は、EmployeeType(1、 "Permanent")(2、 "Temporary")などのようなものを含まないOpsのDB展開スクリプトを生成するためにupdate-database -scriptを使用することはできません。 –
はい、そうです。しかし、それは移行の範囲にはありません。このようなものが必要な場合は、自分で書き込む必要があります。私はまた、私のプロジェクトのほとんどでこのアプローチに従っています。 プロジェクトをどのように構築するか、これらのスクリプトを配置する場所が心配な場合は、SSDTを検討する必要があります。しかし、その場合でも、あなたはこれらのスクリプトを自分で書く必要があります。 –
Configuration.csでこれを行うのは本当に便利でしょうか?それはすでにソース管理にあり、移行では暗黙のうちにロックステップに入っています。私は可能な限りこれを自動化したいと思います。私は別のSOの質問をする必要があります:) –