Geben Sie DataTable mit async .net 4.0 zurück

Ich habe eine Methode, die eine Datentabelle zurückgibt. Ich dachte, mit .net 4.0 könnte ich einfach Logik asynchronisieren und Daten zurückgeben. Dieser Code gibt jedoch null Datatable-Objekt zurück. Irgendwelche Ideen, was mit diesem Code nicht stimmt.

public DataTable GetData(string sql, string connectionName)
{
    DataTable dt = (DataTable)GetDataAsync(sql, connectionName).AsyncState;
    return dt;
}

private async Task<DataTable> GetDataAsync(string sql, string connectionName)
{
    return await TaskEx.Run(() => { return FillData(sql, connectionName); });
}

private DataTable FillData(string sql, string connectionName)
{
    SqlConnection conn = _connections.Where(w => w.ConnectionName == connectionName).Single().Connection;
    SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
    DataSet ds = new DataSet();

    adp.Fill(ds);

    return ds.Tables[0];
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage