Assign current value of foreach clause to assign into model

I have a query like this:

var tasksDataTable = db.ExeSQLParamAndType("usp_TaskStatus_Time_Calculation_Final", parameters, "@EmployeeGuidIdTableType", startDate, endDate);

For each row I want to get values and assign as:

List<StatisticsModel> models = new List<StatisticsModel>();
StatisticsModel model = new StatisticsModel();

var progressToBackCheck = (from DataRow dr in tasksDataTable.Rows where tasksDataTable.Columns.Contains("ProgressToBackCheck") select dr["ProgressToBackCheck"]).FirstOrDefault();

model.ProgressToBackCheck = (int?)progressToBackCheck;
models.Add(model);

So because I want to do foreach row I create a foreach clause like:

foreach (DataRow a in tasksDataTable.Rows)
{
    var progressToBackCheck = (from DataRow dr in tasksDataTable.Rows where tasksDataTable.Columns.Contains("ProgressToBackCheck") select dr["ProgressToBackCheck"]).FirstOrDefault();

    model.ProgressToBackCheck = (int?)progressToBackCheck;
    models.Add(model);
}

So my models have two objects as I want, but them have same values, instead have values of each row I received in foreach statement. What I need to do to get current value of foreach clause to assign to my model? Regards