1

私はSPAについてのジョンパパのコースに続くプロジェクトを持っています。したがって、私のアーキテクチャは次のとおりです。

**proj.Data.Data**
    /Configuration     
      Mappings of the entities with Fluent
    ProjContext.cs
    ProjInitializer.cs
    EFRepository.cs
    /Migrations folder

**proj.Data.Model**
    Pocos (Entity Framework 5 Code First)
    No reference to Entity Framework

**proj.Data.Contracts**
    Interface for IRepository and IProjContext

**proj.UI.Web**
    MVC 4/WebApi project

既存のデータベースがあり、Entity Frameworkのリバースエンジニアリングを実行してエンティティを取得し、コンテキストをエンティティから分離しました(上記の2つの異なるプロジェクトで)

次に、実行しました(PackageManagerコンソールのドロップダウンからproj.Data.Dataを選択します)。

Enable-Migrations -force -StartupProjectName "Proj.Data.Data"
add-migration InitialSchema
Update-Database
Update-Database -Script -SourceMigration $InitialDatabase

proj.Data.DataプロジェクトのMigrationsフォルダーには、upメソッドとdownメソッドが空の201211091944388_InitialSchemaという名前のファイルしか表示されません。MigrationHistoryテーブルは作成されません。

エンティティから取得したすべてのテーブルを使用してデータベースを最初から生成するSQLスクリプトを取得するには、何を実行する必要がありますか?

ありがとう!ギレルモ。

注: .DataプロジェクトはDataという名前のソリューションフォルダーにあり、WebプロジェクトはUIという名前のソリューションフォルダーにあります。そのため、追加の手順を実行する必要がありますか?

4

1 に答える 1

0

リバースエンジニアリングで機能しなかった理由はわかりませんが、すべての規則に従ってモデルを再度作成し、機能しました。

ところで、既存のデータベースでenable-migrationsコマンドを実行すると、__MigrationHistoryテーブルも初期スクリプトも作成されません。これは、既存のデータベースの変更を回避するための設計です。とにかく、ありがとう。

于 2012-11-10T20:43:23.740 に答える