通过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之前

通过System.Data.Linq.DataContext插入SQL Server时出错

顺序可能被调换了。

我建议您首先在table A中执行所有inserts,然后在table B中执行inserts


而且,你贴出的插页似乎也不正确。

谢谢大家的帮助。

这是我服务中事务清理过程中的bug的副作用。它回滚任何很长的事务。

在插入表A和表B之间进行清理时抛出错误,因为A中的记录不再存在。