【发布时间】:2011-11-29 09:51:40
【问题描述】:
在使用SubmitChanges() 之前使用InsertOnSubmit() 函数插入行时,有没有办法检查数据库的约束?
原因,我正在循环从 csv 文件生成的数据表。我一次插入 1 行以显示进度。现在,当发生冲突时,linq 会回滚所有更改,而我希望成功的插入保持插入状态。
现在运行此代码时,它会在第一次冲突时出错,然后停止。它不会再插入任何行,并且在我下次运行此代码时会覆盖冲突之前的行。
我希望任何人都可以帮助我解决这个问题。下面你可以从我的代码中找到一个 sn-p。
问候,蒂斯
foreach (DataRow row in Data.Rows)
{
ProfilePrefillData profile = new ProfilePrefillData();
//Paramaters
profile.ProfileId = new Guid(row["profileid"].ToString());
...
//Insert & submit
db.ProfilePrefillDatas.InsertOnSubmit(profile);
try
{
db.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (Exception ex){}
}
【问题讨论】: