Jak wypełnić DataTable tabelą SQL

Obecnie tworzę i czytam DataTable z następującym kodem w moim Page_Load

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["AllFeatures1"] == null)
    {
        Session["AllFeatures1"] = GetData();
    }
    table = (DataTable)Session["AllFeatures1"];
    DayPilotCalendar1.DataSource = Session["AllFeatures1"];
    DayPilotNavigator1.DataSource = Session["AllFeatures1"];

    if (!IsPostBack)
    {
        DataBind();
        DayPilotCalendar1.UpdateWithMessage("Welcome!");
    }

    if (User.Identity.Name != "")
    {
        Panel1.Visible = true;
    }
}

Chciałbym wiedzieć, jak przekonwertować ten kod, aby odczytał z zapytania SQL? Eksperymentuję z poniższym kodem, ale nie jestem pewien, jak je połączyć, aby datatable w moim ładowaniu strony wypełnił się poleceniem SQL poniżej.

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["BarManConnectionString"].ConnectionString);
conn.Open();
string query = "SELECT * FROM [EventOne]";

SqlCommand cmd = new SqlCommand(query, conn);

DataTable t1 = new DataTable();
using (SqlDataAdapter a = new SqlDataAdapter(cmd))
{
    a.Fill(t1);
}

questionAnswers(5)

yourAnswerToTheQuestion