Entity Framework 生成运行错误的脚本

Entity Framework generating Script that runs with errors

我正在研究使用 Entity Framework 的解决方案。我使用 Code First 工作流通过创建迁移来更新我的数据库。一切正常,现在我想部署到生产环境。我使用包管理器控制台中的 Update-Database -script -SourceMigration:InitialModel 来生成我想要在生产数据库上 运行 的数据库脚本。这是生成的脚本文件的一部分:

    CREATE TABLE [dbo].[Projects] (
        [Id] [int] NOT NULL IDENTITY,
        [Title] [nvarchar](max),
        [OwnerId] [int] NOT NULL,
        [StartDate] [datetime] NOT NULL,
        [EndDate] [datetime] NOT NULL,
        [ProjectStatus] [int] NOT NULL,
        CONSTRAINT [PK_dbo.Projects] PRIMARY KEY ([Id])
    )

    INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], 
    [ProductVersion])
    VALUES (N'201711231319470_AddProjectTableToDB', 
    N'ErdisERP_AmpleAdminTheme.Migrations.Configuration', A Large Random 
    String, N'6.1.3-40302')
    More SQL codes...

这是产生的错误Msg 208, Level 16, State 1, Line 10 Invalid object name 'dbo.__MigrationHistory'.

P.S:我刚刚开始 ASP.NET MVC5。我会很感激任何指示。谢谢。

您似乎没有 __MigrationHistory table。当您使用 -SourceMigration:InitialModel 时,EF 将以此为起点。如果您想告诉 EF 使用空白数据库作为起点,请使用 $InitialDatabase,其中还将包含用于创建 __MigrationHistory :

的代码
Update-Database -Script -SourceMigration: $InitialDatabase