通过System.Data.Linq.DataContext插入SQL Server时出错
本文关键字:SQL Server 出错 插入 DataContext System Data Linq 通过 | 更新日期: 2023-09-27 18:18:13
我有一大堆插入,我通过DataContext在事务中做。插入两种类型的对象:A和b
我确实执行了许多sql插入,如:
INSERT INTO A (...) VALUES ('11111111-1111-1111-1111-111111111111',..)
INSERT INTO B (...) VALUES (
'21111111-1111-1111-1111-111111111111',
'11111111-1111-1111-1111-111111111111',...)
分别db.ExecuteCommand(sql.ToString(), processedParams.ToArray());
表B有指向表a的外键
有时我会遇到这样的错误:表"A"违反了外键约束"FK_B_A"。列"GUID"。
有时所有记录都成功插入到DB中。数据堆总是相同的,除了动态生成的guid。
似乎插入到B有时发生在插入到a之前
顺序可能被调换了。
我建议您首先在table A
中执行所有inserts
,然后在table B
中执行inserts
。
而且,你贴出的插页似乎也不正确。
谢谢大家的帮助。
这是我服务中事务清理过程中的bug的副作用。它回滚任何很长的事务。