1

我有一个遵循John Papa 关于 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

我有一个现有的数据库,我运行了实体框架的逆向工程来获取实体并将上下文与实体分离(在两个不同的项目中,如上所示)

然后我跑了(从 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 文件夹中看到一个名为 201211091944388_InitialSchema 的文件,其中 up 和 down 方法为空。未创建 MigrationHistory 表。

我需要运行什么来获取 sql 脚本以使用我从实体中获得的所有表从头开始生成数据库?

谢谢!吉列尔莫。

注意:我在一个名为 Data 的解决方案文件夹中有 .Data 项目,在一个名为 UI 的解决方案文件夹中有 Web 项目,我应该因此采取任何额外的步骤吗?

4

1 回答 1

0

我不知道为什么它不适用于逆向工程,但是我按照所有约定再次制作了模型并且它起作用了。

顺便说一句,如果我们在现有数据库上运行 enable-migrations 命令,它不会创建 __MigrationHistory 表或 Initial 脚本。这是为了避免更改现有数据库而设计的。不管怎么说,多谢拉。

于 2012-11-10T20:43:23.740 回答