我正试图弄清楚如何将一列中的数据复制回同一服务器上的另一个表,但复制到一个单独的数据库中。
这将在执行实体框架迁移之后完成。我已经对它进行了非常彻底的测试,知道它会正确地更新数据库模式,但由于各种原因,有一列会丢失所有数据。
我备份了原始数据库(EF迁移前(,并在将.bak
文件还原到的同一服务器上创建了一个重复的数据库。
我现在要做的是将备份表中的列(在迁移中清除(中的所有数据复制回迁移后表。
到目前为止,我有一个问题:
UPDATE [PostMigDB].dbo.Issues
SET Branch = [PreMigDB].dbo.IssueBranches.Branch
WHERE [PostMigDB].dbo.Issues.Id = [PreMigDB].dbo.IssueBranches.IssueId
但在查询编辑器中,以[PreMigDB]
开头的两个表达式都用红色下划线,当我将鼠标悬停在它们上面时,它会显示:
多部分标识符[PreMigDB].dbo…无法绑定
我在网上读到的几乎所有东西都说这应该是可能的,但我不明白为什么它对我不起作用。谢谢大家。
尝试更改联接逻辑。
UPDATE i
SET Branch = b.Branch
FROM [PostMigDB].dbo.Issues i
INNER JOIN [PreMigDB].dbo.IssueBranches b ON b.IssueId = i.Id