sql-server - Entity Framework 7 (Beta7) 迁移脚本生成无效的表名称

标签 sql-server powershell entity-framework-core

当我使用 ef 7 powershell 命令生成迁移脚本时

dnx ef migrations add Initial -c MyDbContext
dnx ef migrations script -c MyDbContext

我得到一个脚本,在前几行中包含以下内容;

Using context 'MyDbContext'.
Generating up script for migration '20151001104737_Initial'.
IF OBJECT_ID(N'__MigrationHistory') IS NULL
    CREATE TABLE [__MigrationHistory] (
        [MigrationId] nvarchar(150) NOT NULL,
        [ProductVersion] nvarchar(32) NOT NULL,
        CONSTRAINT [PK_HistoryRow] PRIMARY KEY ([MigrationId])
    );

GO

当我在 SQL 数据库上运行脚本以应用迁移时,出现错误

Msg 102, Level 15, State 1, Line 1 Incorrect syntax near 'MyDbContext'. Msg 208, Level 16, State 1, Line 98 Invalid object name '__MigrationHistory'.

我已在 SQL Server 数据库版本 11、12 和 13 上运行此脚本,但始终遇到相同的错误。它显然在提示表名 __MigrationHistory 看起来不是一个有效的表名。

最佳答案

问题已经解决了

我将 ef 命令通过管道传输到一个文件中,前两行只是命令运行时发生的情况的描述

所以如果你正在做类似的事情

dnx ef migrations script -c MyDbContext > myscript.sql 

然后确保在运行脚本之前删除前两行

关于sql-server - Entity Framework 7 (Beta7) 迁移脚本生成无效的表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32887372/

相关文章:

c# - EF Core - 类中的多对多关系

sql-server - 从 SQL Server 中的结果集中删除重复的组合

sql - 将参数的默认值传递给表值函数

asp.net - MSSQL DateDiff 两个日期之间以及所有行的平均耗时

Powershell解压包含大量文件的zip文件

c# - EF Core,数据库优先。如何将通用存储库接口(interface)移动到另一个程序集?

sql-server - 通过 sp_executesql 执行存储过程

c# - 通过C#执行PowerShell函数脚本

XML 元素换行

c# - 网络核心 DbContextPool 与 AddDbContextPool 等