System.Data.Linq.ChangeConflictException?未找到或更改行?但是,我正在插入,而不是更新

System.Data.Linq.ChangeConflictException? Row not found or changed? But, I'm inserting, not updating

我的程序正在将记录写入数据库 table。到目前为止,它已经向这个 table 写入了大约 58 条新记录。突然间,我收到一条错误消息 "Row not found or changed." 这很奇怪,因为我正在插入一条新记录,而不是尝试查找或更新现有记录。这是我用来创建对象然后插入到 table:

的一小段代码
// create new comment object
var comment = new Comment
                  {
                      TableName = "Circuit",
                      TableKey = circuitId,
                      Text = remarks,
                      CreatedOn = DateTime.Now,
                      CreatedByName = "loadCC03Circuits",
                      CreatedByUupic = "000000000"
                  };

cimsContext.Comments.InsertOnSubmit(comment);
cimsContext.SubmitChanges();

此时我不太确定该怎么做。每个字段都有一个值,没有空值。而且,正如我所说的,在发生这种情况之前,这段完全相同的代码已经写出了 58 条记录,所以,除了数据被关闭(根据我的调试器会话中的字段值,它不是)我是不太确定还有什么要检查的。有什么建议吗?

编辑:我在下面添加了一个答案,使这个问题消失了。但是,我不确定为什么这个解决方案有效。

我找到了解决方案,但没有 "answer"。在这种情况下,解决方案是创建一个包含 DateTime.Now 值的变量:

var dateNow = DateTime.Now;

我将受影响的代码行更改为如下所示:

CreatedOn = dateNow,

奇迹中的奇迹,我不再收到错误。我不确定为什么这会解决问题,我只是根据同事的建议尝试了这个。他推测我正在使用的沙盒数据库运行缓慢,可能会影响 DateTime.Now 功能。无论如何,这使该问题消失了。不过,我希望我有一个明确的答案。当我不明白为什么解决方案有效时,我讨厌让问题消失。