我创建了一个空迁移并将此代码添加到其中:
public override void Up() {
Sql("INSERT INTO Businesses (Id, Field) VALUES (1, 'Restaurant')");
Sql("INSERT INTO Businesses (Id, Field) VALUES (2, 'FastFood')");
Sql("INSERT INTO Businesses (Id, Field) VALUES (3, 'Breakfast')");
Sql("INSERT INTO Businesses (Id, Field) VALUES (4, 'Bar')");
}
public override void Down()
{
Sql("DELETE FROM Businesses WHERE Id IN (1, 2, 3, 4)");
}
填充字段表。但是当我想更新数据库时,我收到了这个错误:
无法在表格中列出标识列的显式值'业务'当IDENTITY_INSERT设置为OFF时。
我做错了什么?
答案 0 :(得分:0)
您的数据库已设置为插入并自动增加您的Id列。只需省略SQL查询中的列。
INSERT INTO Businesses (Field) VALUES ('Restaurant')
INSERT INTO Businesses (Field) VALUES ('FastFood')
INSERT INTO Businesses (Field) VALUES ('Breakfast')
INSERT INTO Businesses (Field) VALUES ('Bar')
我稍后会看到你打算删除插入的行。您可能希望使用where语句执行更复杂的操作,因为Id字段不能保证为1,2,3和4。