插入时如何取消忽略自增列,为自增列(主键)赋值 返回

SqlSugar 老数据
3 3636

db.ExecuteCommand("SET IDENTITY_INSERT Storage ON");     //开启自增列插入,但是无效

var back = db.Insert(new Storage()

{

       ID = 100,                 //想为主键自增列赋值,报错了,可能是和前面的执行不在同一上下文

       Name = "仓库0",

       CreateTime = DateTime.Now,

       IsDelete = false,

       IsSold = true,

       Remark = "仓库0"

 });

db.ExecuteCommand("SET IDENTITY_INSERT Storage OFF");     //关闭自增列插入


//现在想把原来的数据原封不动导进去,连主键的值都不要改变,但是主键自增列赋值会被忽略,求解决办法,带自增列赋值的插入怎么做

//db.ExecuteCommand("SET IDENTITY_INSERT Storage ON")写在前后这种方式脱离了上下文,无法实现,难道必须把这个语句和插入语句拼接?

//还能不能用这种强类型方式搞插入了...

热忱回答3

  • 暂时不支持该功能只能改用SQL

    0 回复
  • @fate stay night:现在可以了吗?

    0 回复
  • fate sta fate sta VIP0
    2023/5/12

    using(db.ado.OpenAways())//保证一个上下文

    {

       db.ExecuteCommand("SET IDENTITY_INSERT Storage ON");     //开启自增列插入,但是无效

     var back = db.Insert(new Storage()

    {

           ID = 100,                 //想为主键自增列赋值,报错了,可能是和前面的执行不在同一上下文

           Name = "仓库0",

           CreateTime = DateTime.Now,

           IsDelete = false,

           IsSold = true,

           Remark = "仓库0"

     });



    }

    0 回复