Проблемы с вставкой в ​​несколько строк - PullRequest
0 голосов
/ 09 декабря 2018

Я должен добавить файлы CV процесса, затем добавить данные, это будет несколько объектов в базу данных, используя 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)
               {

                }
}

Но я обнаружил, что объект aqs1 имеет другие значения, но покавызов db.SaveChanges (); выдает ошибку нарушения первичного ключа.Я видел профиль sql значения отличаются от объекта

1 Ответ

0 голосов
/ 13 декабря 2018

После устранения неполадок я обнаружил, что в базе данных уже существует запись, которая выдает ошибку и остается в списке сбора.Поэтому, когда цикл запускается снова, при вызове сохранения изменений он пытается снова вставить эту предыдущую запись.

, поэтому в блоке catch я написал

 db.AIRQUALITYTS.Remove(aqs);
 db.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...