DataTable to IQueryable

發表日期 : 4/4/2017 3:24:16 PM

我在網路上找到這個範例

DataTable dt = this._dbModule.ParaGetDataTable(mySql.SqlCommand, mySql.SqlParams);
if (dt != null && dt.Rows.Count > 0)
{
IQueryable<CsvDaReport> query =
from r in dt.AsEnumerable().AsQueryable()
select new CsvDaReport()
                {
                   DaGenDate = r["DaGenDate"].ToString(),
                   CsvName = r["CsvName"].ToString(),
                   //...
};
   return query;
}


public partial class CsvDaReport
{
   public string DaGenDate { get; set; }
   public string CsvName { get; set; }
   //...
}


此外我也在Stack Overflow找到以下解答

Convert DataTable to IEnumerable<T>

private IEnumerable<TankReading> ConvertToTankReadings(DataTable dataTable)
    {
        foreach (DataRow row in dataTable.Rows)
        {
            yield return new TankReading
                                  {
                                      TankReadingsID = Convert.ToInt32(row["TRReadingsID"]),
                                      TankID = Convert.ToInt32(row["TankID"]),
                                      ReadingDateTime = Convert.ToDateTime(row["ReadingDateTime"]),
                                      ReadingFeet = Convert.ToInt32(row["ReadingFeet"]),
                                      ReadingInches = Convert.ToInt32(row["ReadingInches"]),
                                      MaterialNumber = row["MaterialNumber"].ToString(),
                                      EnteredBy = row["EnteredBy"].ToString(),
                                      ReadingPounds = Convert.ToDecimal(row["ReadingPounds"]),
                                      MaterialID = Convert.ToInt32(row["MaterialID"]),
                                      Submitted = Convert.ToBoolean(row["Submitted"]),
                                  };
        }

    }

分類 : 分享 作者 : 莊英澔

讀者留言


4/4/2017 3:25:16 PM
bmwlab

● Convert DataTable to IEnumerable