スキーマに基づいてデータベースを作成するMVCコードファーストアプリケーションがあります。本番マシンでは、最初にデータベース(空、テーブルなし)を作成する必要があります。これにより、接続文字列で適切なユーザー名とパスワードをdbcontextに割り当てることができます。DBが本番環境で作成されることを考えると、私のコードは何をすべきですか?
DBはメタデータなしですでに作成されているため、DropCreateDatabaseIfModelChangesを使用できません。また、初めて作成する必要があるため、DropCreateDatabaseAlwaysを使用できません。
私もこれを試しました:
if (context.Database.Exists() && !context.Database.CompatibleWithModel(false))
context.Database.Delete();
if (context.Database.CreateIfNotExists())
しかし、context.Database.CompatibleWithModel(false)は、何らかの理由で空のデータベースで常にTRUEを返します。