所以这我我的情况。插入一个特定的ID到自动增量字段在MySQL与实体框架5
我有一个很多的旧数据库,我的意思是很多数据。不过,我最终创建了一个新的数据库结构,现在我想将旧数据库中的数据移动到新数据库中。作为一名程序员,我并不热衷于手动操作,这就是为什么我制定了一个程序来做到这一点。
现在这是我的问题:在新数据库中添加新项目时,我无法设置其ID,这对于旧数据库中存在的不同链接引用和常规外键引用至关重要。
所以我的问题是:我怎么会通过实体框架5最先使用的数据库中可以插入一个指定ID整数到具有AUTO_INCREMENT我的MySQL数据库字段C# ?
这是我的新数据库的MySQL脚本:
CREATE TABLE Profile
(
_id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
UNIQUE KEY(_id),
etc etc
)
我插入代码:
public Profile Add(Profile item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
db.Entry(item).State = EntityState.Added;
db.SaveChanges();
return item;
}
在端记我对子级想通知我知道这通常是不好的做法,但数据库是空的,并且插入的id是自动生成的,并且独立于旧数据库whi通道将确保没有dublicates将occour
在添加新项目之前在表格上设置'IDENTITY_INSERT ON'。 – Aria
@aria如果我记得没错,从我在网上可以找到的'SET IDENTITY_INSERT Profile ON'是一个** MSSQL **特定命令,并且不适用于MySQL ** –
我不熟悉MySql但是我读了某处MySQL可以让你手动将值插入AUTO_INCREMENT列,这已经被允许。 – Aria