Добавление DataRow в ошибку New Datatable о том, что строка уже связана с таблицей - PullRequest
0 голосов
/ 17 февраля 2020

Я использую приведенный ниже код в Visual Stud ios до go через каждый DataRow в таблице и включаю оператор If, чтобы сказать, где, если определенным критериям соответствует, он создает DataRow. Затем я хочу, чтобы DataRow затем был добавлен в dt_tempHold для последующего использования в моей программе. Is "dt_tempHold.Rows.Add (dr_EPA);" не использовать здесь, потому что я получаю сообщение об ошибке, говорящее, что строка уже принадлежит другой таблице? Я просто хочу получить копию DataRow в DataTable, поскольку он проходит через операторы ForEach и If.

        DataTable dt_tempHold = new DataTable();

        foreach (DataRow dr in ds_picsData.Tables["Placemnt"].Rows)
        {
            if (ds_spreadsheetdata.Tables["EPABase"].AsEnumerable().Any(t => t.Field<string>("EPA_ORG_ID") == dr["NAME"].ToString()))
            {

                DataRow dr_EPA = ds_spreadsheetdata.Tables["EPABase"].AsEnumerable().FirstOrDefault(t => t.Field<string>("EPA_ORG_ID") == dr["NAME"].ToString());

                dt_tempHold.Rows.Add(dr_EPA);

                dr["ADDR1"] = dr_EPA["Contact_address1"].ToString();
                dr["ADDR2"] = dr_EPA["Contact_address2"].ToString();
                dr["ADDR3"] = dr_EPA["Contact_address3"].ToString();
                dr["ADDR4"] = dr_EPA["Contact_address4"].ToString();
                dr["POSTCODE"] = dr_EPA["Postcode"].ToString();
                dr["PHONE"] = dr_EPA["Contact_number"].ToString();
                dr["EMAIL"] = dr_EPA["Contact_email"].ToString();
                dr["NAME"] = dr_EPA["EP_Assessment_Organisations"].ToString();



            }

        };
...