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

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)
-
fate stay night VIP0
2017/5/4暂时不支持该功能只能改用SQL
0 回复 -
所爱隔山海 VIP0
2021/7/30@fate stay night:现在可以了吗?
0 回复 -
fate sta VIP0
2023/5/12using(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 回复