我的程序正在将记录写入数据库表。到目前为止,它已经向这张表格写了大约58个新记录。突然间,我收到一条错误消息,提示“找不到或更改了行”。这很奇怪,因为我插入了一条新记录,而不是试图找到一个或更新现有的记录。下面是代码的小位,我使用创建一个对象,然后插入到表:System.Data.Linq.ChangeConflictException?行未找到或更改?但是,我插入,而不是更新
// 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条记录被这个相同的代码写出来,除了数据关闭之外(根据调试器会话中的字段值,这些记录不是)我是不太确定还有什么要检查的。有什么建议?
编辑:我在下面添加了一个答案,使这个问题消失。但是,我不确定这个解决方案为什么起作用。
你看过这个问题吗? http://stackoverflow.com/questions/8851482/linq-row-not-found-or-changed – Chizzle
我做到了。当他们从表中读取记录,修改记录,然后更新记录时,就会出现这个问题。就我而言,我只是想插入一条新纪录。这让我感到困惑:它说“行未找到或改变......”但我不想找一排或改变一个;我插入一个新的。 – Kevin
您会看到关于可空列不匹配模型的第二个答案?可能是这样,只是一个镜头 – Chizzle