EF 数据迁移常见错误汇总

1.An operation was scaffolded that may result in the loss of data. Please review the migration for accuracy.

 上次执行还是可以的 这次迁移就提示,常见的解决方案如下:

(1)提交上次更改到数据库后,再进行本次操作,再提交数据库

(2)还原实体,确保数据库和实体保持一致。再去修改实体和进行本次操作,再提交数据库

(3)删除上次的迁移记录 重新迁移。

 实体变更后都要提交数据库确保数据库和实体一致

 

2.迁移更新提示

EF 数据迁移常见错误汇总

 

手工创建了迁移记录表解决:

mysql脚本:

CREATE TABLE `__efmigrationshistory` (
  `MigrationId` varchar(95) NOT NULL,
  `ProductVersion` varchar(32) NOT NULL,
  PRIMARY KEY (`MigrationId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

sqlserver:

CREATE TABLE [dbo].[__EFMigrationsHistory](
    [MigrationId] [nvarchar](150) NOT NULL,
    [ProductVersion] [nvarchar](32) NOT NULL,
 CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY CLUSTERED 
(
    [MigrationId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO