我想做种子,然后在控制器中执行类似的操作。
Member member = new Member { Id = MemberId1, UserName = "member1" };
Context. Add(member);
Context.SaveChanges();
这会产生一个错误,告诉我不允许显式设置ID。我知道了,为什么会这样,但是由于条目是我的种子,因此无论如何我都需要这样做。根据{{3}},我可以像这样暂时关闭检查。
Member member = new Member { Id = MemberId1, UserName = "member1" };
Context. Add(member);
Context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT blipp.Members ON");
Context.SaveChanges();
Context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT blipp.Members OFF");
好吧,您知道吗,尽管我的配置中有entity.HasKey(e => e.Id)
,但仍然会产生错误,告诉我没有任何设置。我在这里迷路了。
'表'blipp.Members'没有标识属性。无法执行SET操作。'
当我直接在数据库中尝试此操作时,也会发生同样的情况。由于EF和拥有实体的限制,我无法以通常的方式使用HasData()
进行播种。原来的错误是这个。
当IDENTITY_INSERT设置为OFF时,无法为表“操作”中的标识列插入显式值
我在这里做什么?