SqlDataReader для чтения в List <string>

Я пишу метод в C # для запроса базы данных SQL Server Express из службы WCF. Я должен использовать ADO.NET, чтобы сделать это (затем переписать его с LINQ позже).

Метод принимает две строки (fname, lname) затем возвращает "Медицинская страховка НЕТ " атрибут из соответствующей записи. Я хочу прочитать это в списке (есть и другие атрибуты, которые можно получить).

Текущий код возвращает пустой список. Куда я иду не так?

public List GetPatientInfo(string fname, string lname)
{
    string connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\xxxx\\Documents\\Visual Studio 2010\\Projects\\ADOWebApp\\ADOWebApp\\App_Data\\ADODatabase.mdf;Integrated Security=True;User Instance=True";

    SqlConnection conn = new SqlConnection(connString);

    string sqlquery = "SELECT Patient.* FROM Patient WHERE ([First Name] = '"+fname+"') AND ([Last Name] = '"+lname+"')";
    SqlCommand command = new SqlCommand(sqlquery, conn);
    DataTable dt = new DataTable();

    List result = new List();

    using (conn)
    {
        conn.Open();

        using (SqlDataReader reader = command.ExecuteReader())
        {
            while (reader != null && reader.Read())
            {
               dt.Load(reader);
               result.Add(Convert.ToString(reader["Health Insurance NO"]));
            }
        }
     }

     return result;
}

Ответы на вопрос(2)

Ваш ответ на вопрос