我必须添加过程简历文件,然后添加数据,这将是多个对象的数据库使用EF
using (var db = new dbEntities())
{
//Process CSV file
foreach (AIRQ aqs in listairq)
try
{
AIRQ aqs1 = new AIRQ();
aqs1.FeatureID = aqs.FeatureID.Trim();
aqs1.MeasurementDateTime = aqs.MeasurementDateTime;
aqs1.ParameterID = aqs.ParameterID.Trim();
aqs1.ParameterValue = aqs.ParameterValue;
aqs1.Remarks = aqs.Remarks;
db.AIRQTS.Add(aqs1);
db.SaveChanges();
}
catch (Exception ex)
{
}
}但是我发现,虽然object aqs1有不同的值,但是在调用aqs1时它会引发错误主键冲突。我看到了sql概要文件值与对象不同
发布于 2018-12-13 07:29:42
在排除故障后,我发现当数据库中已经存在一条记录时,该记录会引发错误,并保留在集合列表中。因此,当循环再次运行时,在调用保存更改时,它会尝试再次插入之前的记录。
所以在catch块里我写了
db.AIRQUALITYTS.Remove(aqs);
db.SaveChanges();https://stackoverflow.com/questions/53691427
复制相似问题