我有一个具有标识列的实体。作为数据种子的一部分,我想在我的系统中为“标准数据”使用特定的标识符值。我不想禁用身份。只有我想在迁移种子中设置 IDENTITY_INSERT ON。
我的代码是:
protected override void Seed(DelphyWCFTestService.Model.DataContext context)
{
context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Cities] On ");
context.Cities.AddOrUpdate(
p => p.CityId,
new City { CityId = 1, Title = "Paris" }
);
}
但我的 CityId 没有插入并且身份自动插入
我的 Entityframework 版本是 6.1.3
更新:
我将我的代码更改为:
context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Cities] On ");
var cities = new List<City>
{
new City { CityId = 1, Title = "Paris" }
};
context.Cities.AddRange(cities);
context.SaveChanges();
context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[Cities] Off ");
并且问题没有解决。