当我使用 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/