从 DataRow 添加项目到列表

Adding items to list from DataRow

我有以下代码将 DataTable 行复制到我的对象中。但它每次都会用新行覆盖以前添加的列表项。我的代码有什么问题?

DataTable dt = GetDataTableByIndex(data, 1);
if (dt != null && dt.Rows.Count > 0)
{
   if (dt != null && dt.Rows.Count > 0)
   {
      providerQualification.ProviderDetails = new List<ProviderDetail>();
      ProviderDetail providerDetail = new ProviderDetail();
      foreach (DataRow row in dt.Rows)
      {
          providerDetail.ProviderName = row["Provider Name"].ToString();
          providerDetail.QualificationTime = row["Qualify Time (Sec.)"].ToString();
          providerDetail.ServiceableOffers = row["Total Serviceable Offers"].ToString();
          providerQualification.ProviderDetails.Add(providerDetail);
      }
  }
}

试试这个,

DataTable dt = GetDataTableByIndex(data, 1);
if (dt != null && dt.Rows.Count > 0)
{
      providerQualification.ProviderDetails = new List<ProviderDetail>();
      ProviderDetail providerDetail;
      foreach (DataRow row in dt.Rows)
      {    
          providerDetail = new ProviderDetail();
          providerDetail.ProviderName = row["Provider Name"].ToString();
          providerDetail.QualificationTime = row["Qualify Time (Sec.)"].ToString();
          providerDetail.ServiceableOffers = row["Total Serviceable Offers"].ToString();
          providerQualification.ProviderDetails.Add(providerDetail);
      }
  }