实体框架 - 迁移 - @objname不明确

时间:2017-02-08 08:46:33

标签: entity-framework ef-code-first ef-migrations

尝试更新数据库时遇到了问题。我在模型中更改了FK和虚拟属性。当我尝试更新数据库时,我收到此错误:

参数@objname不明确或声称@objtype(COLUMN)错误。

在此行代码上,它会停止update-database:

RenameColumn("dbo.test", "test_Id", "ProgramId"); 

-verbose属性告诉我这行代码给了我错误:

EXECUTE sp_rename @objname = N'dbo.test.test_Id', @newname = N'ProgramId', @objtype = N'COLUMN'

我不知道为什么它会给我这个错误,是否有人知道自动生成的迁移文件出了什么问题?

谢谢,布伦特

1 个答案:

答案 0 :(得分:3)

我试过你在我使用EF Core的项目中说过,我在迁移课程中没有得到RenameColumn,我得到了:

DropForeignKey(...), DropIndex(...), DropColumn(..) 然后是AddColumn(...), CreateIndex(...)和 CreateForeignKey(...)

当我更新数据库时当然工作正常。

但是我搜索了你的问题,似乎SQL在某种程度上感到困惑,像你这样的问题的所有解决方案都是在tableName或ColumnName周围使用[],似乎你有另外一个名字,这些名称和SQL可以'指定它们。

如果您只是在更改前后告诉我有关您实体的更多信息,我可以跟随您的脚步并得到像您一样的错误。