You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:51:02