1

スキーマに基づいてデータベースを作成する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を返します。

4

1 に答える 1

0

SQL スクリプトを介して手動でデータベース スキーマをデプロイする必要がある場合があります。本番データベース インスタンスからスクリプトを生成できます。

于 2012-05-08T22:30:35.750 に答える