如何在Entity Framework中开启SET IDENTITY_INSERT以手动插入主键
手动插入主键创建对象失败问题
尝试手动指定主键值创建Year对象,但始终无法成功。原本想用ExecuteSqlCommand()执行IDENTITY_INSERT的开关命令,但发现该方法不存在;后续也试过ExecuteSqlRaw等替代方法,问题依旧没有解决。
我的代码如下:
public void CreateYear(int yearId) { try { Year year = new Year(); year.YearId = yearId; year.YearAcademic = yearId.ToString() + "/" + (yearId + 1).ToString(); year.IsActive = false; _context.Database.ExecuteSql($"SET IDENTITY_INSERT dbo.Years ON"); _context.Years.Add(year); _context.SaveChanges(); _context.Database.ExecuteSql($"SET IDENTITY_INSERT dbo.Years OFF"); } catch { throw; } }
内容的提问来源于stack exchange,提问作者Bruno Silva
相关产品推荐
相关产品推荐

